System and method for handling transport protocol segments
First Claim
Patent Images
1. A system, comprising:
- a receiver that receives an incoming transport protocol segment (TPS), the incoming TPS comprising a TPS header, an aligned upper layer protocol (ULP) header, a complete ULP data unit (ULPDU), a marker header and a marker, the receiver comprising a buffer, the buffer being a size that does not scale approximately linearly with a network speed, a network bandwidth, or a number of connections,wherein a direct memory access (DMA) engine of the receiver moves the complete ULPDU through a cyclical redundancy checking (CRC) machine and places the complete ULPDU into a host memory, and wherein the marker header is disposed between the aligned ULP header and the TPS header, andwherein the marker of the incoming TPS is disposed in the complete ULPDU and backward points to the marker header of the same incoming TPS.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods that handle transport protocol segments (TPSes) are provided. In one embodiment, a system may include, for example, a receiver that may receive an incoming TPS. The incoming TPS may include, for example, an aligned upper layer protocol (ULP) header and a complete ULP data unit (ULPDU). The receiver may directly place the complete ULPDU into a host memory.
8 Citations
41 Claims
-
1. A system, comprising:
-
a receiver that receives an incoming transport protocol segment (TPS), the incoming TPS comprising a TPS header, an aligned upper layer protocol (ULP) header, a complete ULP data unit (ULPDU), a marker header and a marker, the receiver comprising a buffer, the buffer being a size that does not scale approximately linearly with a network speed, a network bandwidth, or a number of connections, wherein a direct memory access (DMA) engine of the receiver moves the complete ULPDU through a cyclical redundancy checking (CRC) machine and places the complete ULPDU into a host memory, and wherein the marker header is disposed between the aligned ULP header and the TPS header, and wherein the marker of the incoming TPS is disposed in the complete ULPDU and backward points to the marker header of the same incoming TPS. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method, comprising:
receiving an incoming transport protocol segment (TPS) in a buffer, the buffer being a size that does not scale approximately linearly with a network speed, a network bandwidth, or a number of connections, the incoming TPS comprising a complete framing protocol data unit (FPDU) and an FPDU header in a known position with respect to a TPS header, wherein a direct memory access (DMA) engine moves the complete FPDU through a cyclical redundancy check (CRC) machine, wherein the complete FPDU includes a marker, wherein the marker is not adjacent to the FPDU header, and wherein the marker of the incoming TPS backward points to the FPDU header of the same incoming TPS. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
27. A system, comprising:
-
a receiver comprising a direct memory access (DMA) engine, a cyclical redundancy check (CRC) machine, and a buffer being a size that does not scale approximately linearly with a network speed, a network bandwidth, or a number of connections, wherein the receiver receives an incoming transport protocol segment (TPS), the incoming TPS comprising a marker, a marker header, a TPS header, an aligned upper layer protocol (ULP) header and a complete ULP data unit (ULPDU), wherein the marker header is disposed between the aligned ULP header and the TPS header, wherein the marker of the incoming TPS is disposed in the complete ULPDU and backward points to the marker header of the same incoming TPS, and wherein the receiver programs the DMA engine once to move the complete ULPDU through the CRC machine and place the complete ULPDU into a host memory. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method, comprising:
-
(a) receiving an incoming transport protocol segment (TPS) in a buffer, the buffer being a size that does not scale approximately linearly with a network speed, a network bandwidth, or a number of connections, the TPS comprising a TPS header, a marker, a complete framing protocol data unit (FPDU) and an FPDU header in a known position with respect to the TPS header, wherein a direct memory access (DMA) engine is programmed to move the complete FPDU through a cyclical redundancy check (CRC) machine and copy data of the complete FPDU to a memory, wherein the marker is inserted in the complete FPDU, wherein the marker is not adjacent to the FPDU header, and wherein the marker of the incoming TPS backward points to the FPDU header of the same incoming TPS; (b) performing layer 2 (L2) processing on the incoming TPS; (c) performing layer 3 (L3) processing on the incoming TPS; (d) performing layer 4 (L4) processing on the incoming TPS; and (e) performing ULP processing on the incoming TPS. - View Dependent Claims (40, 41)
-
Specification