Patent ID: 7814219

Claim:
A method, comprising: receiving, by a hardware device, a plurality of packets; forwarding the plurality of packets, by the hardware device, to a device driver corresponding to the hardware device, wherein the hardware device indicates which protocols are capable of processing the plurality of packets to the device driver; receiving, by the device driver, the plurality of packets, wherein the plurality of packets are capable of being processed according to at least a first protocol and a second protocol; sorting, by the device driver, the plurality of packets into a first group and a second group, wherein all packets in the first group are capable of being processed according to the first protocol, and wherein all packets in the second group are capable of being processed according to the second protocol; sending, by the device driver, the first group and the second group to an operating system interface; forwarding, by the operating system interface, the first group to a first protocol layer that is capable of processing the first group according to the first protocol; and forwarding, by the operating system interface, the second group to a second protocol layer that is capable of processing the second group according to the second protocol.