Protocol data unit interface
First Claim
Patent Images
1. A method for creating a hierarchy of descriptors for protocol data units of different protocols comprising:
- while protocol data units of a first protocol at a first layer of a network stack are received and written into a buffer pool, creating, at a first level of the hierarchy, a first protocol descriptor for each protocol data unit of the first protocol responsive to determining that the protocol data unit has been written into the buffer pool, wherein the first protocol descriptor is created with at least an indication of a memory location where the protocol data unit has been written within the buffer pool;
maintaining an order for the first protocol descriptors in accordance with an order of the protocol data units as indicated by the protocol data units;
creating, at a second level of the hierarchy, second protocol descriptors for protocol data units of a second protocol at a second layer of the network stack, wherein each of the second protocol descriptors is created with a reference to at least one of the first protocol descriptors, the first layer of the network stack differing from the second layer of the network stack; and
providing access to payloads of the protocol data units of the first protocol in the buffer pool with the second protocol descriptors.
2 Assignments
0 Petitions
Accused Products
Abstract
An interface can be designed that efficiently constructs descriptors for streams of protocol data units (PDUs) and provides coherent views of the PDUs and the PDU stream for a requesting application regardless of location within a buffer pool for PDUs. The interface creates a descriptor for each PDU written into the buffer pool and links the descriptors in accordance with the appropriate order of the corresponding PDUs. The interface can create PDU descriptors hierarchically. For instance, a PDU descriptor for a PDU of a layer N protocol can refer to one or more PDU descriptors of a layer N−1 protocol.
-
Citations
13 Claims
-
1. A method for creating a hierarchy of descriptors for protocol data units of different protocols comprising:
-
while protocol data units of a first protocol at a first layer of a network stack are received and written into a buffer pool, creating, at a first level of the hierarchy, a first protocol descriptor for each protocol data unit of the first protocol responsive to determining that the protocol data unit has been written into the buffer pool, wherein the first protocol descriptor is created with at least an indication of a memory location where the protocol data unit has been written within the buffer pool; maintaining an order for the first protocol descriptors in accordance with an order of the protocol data units as indicated by the protocol data units; creating, at a second level of the hierarchy, second protocol descriptors for protocol data units of a second protocol at a second layer of the network stack, wherein each of the second protocol descriptors is created with a reference to at least one of the first protocol descriptors, the first layer of the network stack differing from the second layer of the network stack; and providing access to payloads of the protocol data units of the first protocol in the buffer pool with the second protocol descriptors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable storage medium having stored thereon computer executable program instructions for creating a hierarchy of descriptors for protocol data units of different protocols, the program instructions to:
-
create, as a first level of the hierarchy, a first sequence of descriptors for a stream of protocol data units received by a component of a first protocol at a first layer of a network stack, the program instructions to create the first sequence of descriptors coincident with writing of the stream of protocol data units into a plurality of memory locations by the component of the first protocol; indicate, in each of the first sequence of descriptors, where the corresponding one of the protocol data units of the first protocol has been written into the plurality of memory locations; maintain the first sequence of descriptors in an order according to an order indicated by the protocol data units in the stream of protocol data units; access payloads of the stream of protocol data units via the first sequence of descriptors and determine data of the payloads that form protocol data units of a second protocol at a second layer of the network stack, the first layer of the network stack differing from the second layer of the network stack; and create, as a second level of the hierarchy, a second sequence of descriptors for the protocol data units of the second protocol, the program instructions to create each of the second sequence of descriptors with an indication of those of the first sequence of descriptors that indicate a protocol data unit with a payload that forms at least part of a corresponding one of the protocol data units of the second protocol represented by the descriptor of the second sequence of descriptors. - View Dependent Claims (10, 11, 12, 13)
-
Specification