Techniques to process network protocol units
AssigneeIntel Corporation
InventorMark W. Wunderlich
Life of this patent
Estimating the term…
Abstract
Techniques are described herein that can be used to process inbound network protocol units. In some implementations, the techniques may process inbound DDP segments. In some implementations, a steering tag of an inbound network protocol unit may be used to access a context accessible to a network component. In some implementations, the context may include an array useful to determine whether all segments in a group have been received by the network component. In some implementations, the segments may be stored in a first buffer and transferred to a second buffer after all segments in a group have been received.
Claims15
A method comprising:
- receiving an indication of receipt of a network protocol unit by a network component associated with a host system;
- selectively requesting storage of the received network protocol unit into a first buffer in response to a determination that a tag in the received network protocol unit permits access to a memory device, the first buffer being in the host system and also being a contiguous, word aligned region to store as a contiguous structure multiple direct data placement (DDP) tagged messages;
- and
- selectively copying, in a single copy operation, to a second buffer in the host system network protocol units of at least one group that are stored as the contiguous structure in the first buffer, the single copy operation being in response to one or more descriptors that instruct a data mover to perform the single copy operation, wherein the at least one group comprises DDP segments of portions of at least two messages stored in the first buffer, the selectively copying being to permit a driver to process the at least one group, processing of the at least one group by the driver being requested by a single interrupt, the network component being to determine whether all of the DDP segments comprised in the at least one group have been received by the network component and also being to inform the host system that all of the DDP segments comprised in the at least one group have been received by the network component, the network component also to create and store a context for the at least one group, the context recording a starting address of the first buffer and an overall length of the contiguous structure, the network component including scoreboard logic to use the context in a scoreboarding process that tracks arriving DDP segments using a block list array to determine whether all of the DDP segments comprised in the at least one group have been received, in which, if a DDP segment gap exists between received DDP segments, the DDP segment gap is to be indicated by a corresponding gap between entries in the block list array.
An apparatus comprising:
- a memory in a network component to store a context associated with one or more network protocol units, the context being created and stored by the network component, the network component being associated with a host system;
- logic in the network component to identify a tag in a received network protocol unit;
- logic in the network component to identify the stored context as being associated with the tag;
- logic to selectively request storage of the received network protocol unit into a first buffer in response to a determination that the tag in the network protocol unit permits access to a memory device, the first buffer being in the host system and also being a contiguous, word aligned memory region to store multiple direct data placement (DDP) tagged messages;
- and
- logic to selectively request a single copy operation to copy to a second buffer of network protocol units of at least one group that are stored as a contiguous structure in the first buffer, the single copy operation being in response to one or more descriptors that instruct a data mover to perform the single copy operation, wherein the at least one group comprises DDP segments of portions of at least two messages stored as the contiguous structure in the first buffer, copying of the at least one group to the second buffer being to permit a driver to process the at least one group, processing of the at least one group by the driver being requested by a single interrupt, the network component being to determine whether all of the DDP segments comprised in the at least one group have been received by the network component and also being to inform the host system that all of the DDP segments comprised in the at least one group have been received by the network component, the context recording a starting address of the first buffer and an overall length of the contiguous structure, the network component including scoreboard logic to use the context in a scoreboarding process that tracks arriving DDP segments using a block list array to determine whether all of the DDP segments comprised in the at least one group have been received, in which, if a DDP segment gap exists between received DDP segments, the DDP segment gap is to be indicated by a corresponding gap between entries in the block list array.
Dependencies are inferred from the claim text.