Patent ID: 8472469

Claim:
A method comprising: determining, at a network device, to create a network socket for an application of the network device to initiate a network connection for the application; determining socket aggregation parameters for the network socket associated with the application; defining the network socket based, at least in part, on the socket aggregation parameters; aggregating a plurality of packets received from the application associated with the network socket, wherein aggregating the plurality of packets includes, for a packet of the plurality of packets: determining whether the packet received from the application is one of a plurality of predefined packet types, providing the packet to the network adapter without aggregation if the packet is one of the plurality of predefined packet types, and aggregating the packet if the packet is not one of the plurality of predefined packet types; determining, based on said aggregating the plurality of packets received from the application, whether at least one aggregation limit associated with the socket aggregation parameters is reached; and providing an aggregate packet to a network adapter of the network device to perform segmentation offload in response to said determining that at least one aggregation limit associated with the socket aggregation parameters is reached.