PROTOCOL DATA UNIT INTERFACE
First Claim
Patent Images
1. A method comprising:
- while protocol data units of a first protocol are received and written into a buffer pool, creating 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 second protocol descriptors for protocol data units of a second protocol, wherein each of the second protocol descriptors is created with a reference to at least one of the first protocol descriptors; 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
20 Claims
-
1. A method comprising:
-
while protocol data units of a first protocol are received and written into a buffer pool, creating 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 second protocol descriptors for protocol data units of a second protocol, wherein each of the second protocol descriptors is created with a reference to at least one of the first protocol descriptors; 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 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 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 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)
-
-
14. A computer program product comprising:
a computer readable storage medium having computer usable program code embodied therewith, the computer usable program code comprising computer usable program code to; create a plurality of descriptors linking a plurality of protocol data units together in sequential order, wherein each of the plurality of descriptors comprises a respective data structure; create one or more higher-level descriptors, wherein each higher-level descriptor of the one or more higher-level descriptors comprises a respective data structure, wherein each higher-level descriptor of the one or more higher-level descriptors comprises one or more references to one or more descriptors of the plurality of descriptors; and receive one or more requests for data, wherein the requests for data specify at least one of data from one or more protocol data units of the plurality of protocol data units or the data representing one or more higher-level protocol data units. - View Dependent Claims (15, 16, 17, 18, 19, 20)
Specification