Patent ID: 8737262
Filing Date: 2014-05-27
Classification: G06F

Abstract:
1. A method, implemented by a computing system, comprising: receiving, by an operating system of the computing system, an application request pertaining to a data packet to be transmitted over a network using a network device, the data packet having gone through networking stack processing invoked by the application, the data packet residing in memory of the application and having at least a partial header created during the networking stack processing; querying, by the operating system, a driver of the network device of the computing system on whether the network device has a zero copy capability; upon receiving, from the network device driver, a query response specifying whether the network device driver has the zero copy capability, determining, by the operating system, whether a zero copy transmission is to be used for the data packet based on the query response of the network device driver; if the zero copy transmission is to be used, notifying the driver of the network device about the data packet in the application memory, the data packet to be transmitted over the network using the zero copy transmission that avoids copying the data packet to a kernel buffer; and if the zero copy transmission is not to be used, copying the data packet from the application memory to the kernel buffer, and notifying the driver of the network device about the data packet in the kernel buffer.