Patent ID: 11916781
Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Field: Digital communication (Electrical engineering)
Classification: CPC H  G | IPC G  H

Claim 0:
1. A network interface controller (NIC), comprising:
an output buffer comprising a plurality of cells, wherein a respective cell is a unit of storage in the output buffer;
a host interface to receive a command from a host device;
an injector logic block to generate a packet based on the command; and
an allocation logic block to:
determine whether the packet is a multi-cell packet;
in response to determining that the packet is a multi-cell packet, wherein a first data structure comprises entries for a plurality of packet groups, wherein each packet group corresponds to a distinct maximum packet size of a plurality of maximum packet sizes;
determine, for the packet based on a size of the packet, a packet group which corresponds to a smallest of the maximum packet sizes that can accommodate the packet;
allocate, based on an entry in the first data structure for the determined packet group, a virtual index for the packet;
reserve, for the packet based on the size of the packet, a set of cells in the output buffer;
store, in the entry in the first data structure for the determined packet group: the virtual index for the packet; and a set of physical indices of the reserved cells, wherein the physical indices are stored in slots of the entry;
insert the packet into the reserved cells of the output buffer; and
responsive to inserting the packet into the reserved cells of the output buffer, store, in a second data structure: a packet handle associated with the packet; offset information associated with the virtual index; and an identifier of a message-fragmenting unit selected for forwarding the packet.