Method and system for transmission control packet (TCP) segmentation offload
First Claim
1. A method for packet segmentation and offload, the method comprising:
- receiving information identifying at least one packet to be processed;
determining whether an identified packet is a large send offload packet;
if said identified packet is a large send offload packet, selecting between a hardware process and a firmware process for handling said large send offload packet; and
processing said large send offload packet by one of said selected hardware process and said firmware process.
7 Assignments
0 Petitions
Accused Products
Abstract
Certain aspects of the invention for packet segmentation and offload may comprise determining whether an identified packet is a large send offload packet (LSOP). If the identified packet is a LSOP, a selection may be made between a hardware process and a firmware process for handling the LSOP. The LSOP may then be processed by the selected hardware process or firmware process. At least a portion of protocol header information for a first segment of the LSOP may be stored and subsequently utilized for at least a header portion of a second segment of the LSOP. A payload corresponding to the second segment of the LSOP may be placed at a determined offset within a transmit buffer for the second segment. A header portion of the second segment may be updated based on at least a header portion of a previous segment.
-
Citations
37 Claims
-
1. A method for packet segmentation and offload, the method comprising:
-
receiving information identifying at least one packet to be processed;
determining whether an identified packet is a large send offload packet;
if said identified packet is a large send offload packet, selecting between a hardware process and a firmware process for handling said large send offload packet; and
processing said large send offload packet by one of said selected hardware process and said firmware process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine-readable storage having stored thereon, a computer program having at least one code section for packet segmentation and offload, the at least one code section being executable by a machine for causing the machine to perform steps comprising:
-
receiving information identifying at least one packet to be processed;
determining whether an identified packet is a large send offload packet;
if said identified packet is a large send offload packet, selecting between a hardware process and a firmware process for handling said large send offload packet; and
controlling processing of said large send offload packet by one of said selected hardware process and a firmware process. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for packet segmentation and offload, the system comprising:
-
a send data initiator that receives information identifying at least one packet to be processed;
at least one of an internal CPU and said send data initiator determines whether an identified packet is a large send offload packet;
at least one selector that selects between a hardware process and a firmware process for handling said large send offload packet if said identified packet is a large send offload packet; and
at least one processor that processes said large send offload packet by one of said selected hardware process and said firmware process. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system for packet segmentation and offload, the system comprising:
-
a read DMA processor;
a memory arbiter coupled to said read DMA processor;
a transmit buffer memory coupled to said read DMA processor;
a send data initiator coupled to said read DMA processor;
a send data complete module coupled to said read DMA processor; and
a bus interface coupled to said read DMA processor. - View Dependent Claims (33, 34, 35, 36, 37)
-
Specification