Packet fragmentation using outer header
US-2022303231-A1 · Sep 22, 2022 · US
US12323490B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12323490-B2 |
| Application number | US-202318381991-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 19, 2023 |
| Priority date | Oct 19, 2023 |
| Publication date | Jun 3, 2025 |
| Grant date | Jun 3, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments herein describe creating multiple packet fragments from a large data chunk that, for example, exceeds a maximum transmission unit (MTU) supported by a network. In one embodiment, a network interface controller or card (NIC) receives a direct memory access (DMA) from a connected host to transmit an IP packet or data using remote direct memory access (RDMA) technologies. The NIC can evaluate the data chunk associated with the DMA request and determine whether it exceeds the MTU for the network. Assuming it does, the NIC determines how many fragments to divide the data chunk into, and can fragment any portion of the data at flexible packet/payload offsets. The NIC can then retrieve the data chunk from host memory fragment-by-fragment, rather than reading the data chunk all at once, generating headers for the fragments, and then transmit them as packet fragments.
Opening claim text (preview).
What is claimed is: 1. A network interface controller or card (NIC), comprising: circuitry configured to: receive a direct memory access (DMA) request from a host to transmit a data chunk using a network, wherein a DMA engine in the NIC determines the data chunk exceeds a maximum transmission unit (MTU) size of the network and stores different portions of the data chunk in a packet buffer in the NIC using multiple iterations, and retrieve information for generating headers for a plurality of packet fragments; and an egress pipeline comprising circuitry configured to: generate the headers using the information retrieved by the circuitry, and transmit the plurality of packet fragments on the network, wherein the plurality of packet fragments each comprises a respective one of the headers and a different portion of the data chunk. 2. The NIC of claim 1 , wherein the data chunk is an internet protocol (IP) packet generated by the host, and the network is an IP network. 3. The NIC of claim 2 , wherein retrieving the information comprises: reading an IP header from a portion of host memory that stores the data chunk. 4. The NIC of claim 1 , wherein the data chunk is not an IP packet. 5. The NIC of claim 4 , wherein retrieving the information comprises: generating metadata based on a destination of the data chunk in the network. 6. The NIC of claim 1 , wherein the different portions of the data chunk are not replicated when stored in the NIC. 7. An integrated circuit (IC), comprising: circuitry configured to: receive a direct memory access (DMA) request from a host to transmit a data chunk using a network, wherein a DMA engine in the IC determines the data chunk exceeds a maximum transmission unit (MTU) size of the network and stores different portions of the data chunk in a packet buffer in the IC using multiple iterations, and retrieve information for generating headers for a plurality of packet fragments; and an egress pipeline comprising circuitry configured to: generate the headers using the information retrieved by the circuitry, and transmit the plurality of packet fragments on the network, wherein the plurality of packet fragments each comprises a respective one of the headers and a different portion of the data chunk. 8. The IC of claim 7 , wherein the data chunk is an internet protocol (IP) packet generated by the host, and the network is an IP network. 9. The IC of claim 8 , wherein retrieving the information comprises: reading an IP header from a portion of host memory that stores the data chunk. 10. The IC of claim 7 , wherein the data chunk is not an IP packet, wherein retrieving the information comprises: generating metadata based on a destination of the data chunk in the network. 11. The IC of claim 10 , wherein retrieving the information comprises: generating metadata based on a destination of the data chunk in the network. 12. The IC of claim 7 , wherein the different portions of the data chunk are not replicated when stored in the IC. 13. A method, comprising: receiving, at a NIC, a DMA request from a host to transmit a data chunk using a network; determining, at a DMA engine in the NIC, that the data chunk exceeds a MTU size of the network; storing, at the DMA engine, different portions of the data chunk in a packet buffer in the NIC using multiple iterations; retrieving information for generating headers for a plurality of packet fragments; generating, at the NIC, the headers using the information; and transmitting, from the NIC, the plurality of packet fragments on the network, wherein the plurality of packet fragments each comprises a respective one of the headers and a different portion of the data chunk. 14. The method of claim 13 , wherein the data chunk is an internet protocol (IP) packet generated by the host, and the network is an IP network. 15. The method of claim 14 , wherein retrieving the information comprises: reading an IP header from a portion of host memory that stores the data chunk. 16. The method of claim 13 , wherein the data chunk is not an IP packet, wherein retrieving the information comprises: generating metadata based on a destination of the data chunk in the network. 17. The method of claim 13 , wherein the different portions of the data chunk are not replicated when stored in the NIC.
IP fragmentation; TCP segmentation · CPC title
Parsing or analysis of headers · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.