Apparatus and method for stateless CRC calculation
First Claim
1. An apparatus, for performing remote direct memory access (RDMA) operations between a first server and a second server over a network fabric, the apparatus comprising:
- a packet parser, configured to process a TCP segment within an arriving network frame, wherein said packet parser performs one or more speculative CRC checks according to an upper layer protocol (ULP), wherein said one or more speculative CRC checks are performed concurrent with arrival of said network frame; and
a protocol engine, coupled to said packet parser, configured to receive results of said one or more speculative CRC checks, and configured to selectively employ said results for validation of a framed protocol data unit (FPDU) according to said ULP.
5 Assignments
0 Petitions
Accused Products
Abstract
A mechanism for performing remote direct memory access (RDMA) operations between a first server and a second server. The apparatus includes a packet parser and a protocol engine. The packet parser processes a TCP segment within an arriving network frame, where the packet parser performs one or more speculative CRC checks according to an upper layer protocol (ULP), and where the one or more speculative CRC checks are performed concurrent with arrival of the network frame. The protocol engine is coupled to the packet parser. The protocol engine receives results of the one or more speculative CRC checks, and selectively employs the results for validation of a framed protocol data unit (FPDU) according to the ULP.
-
Citations
35 Claims
-
1. An apparatus, for performing remote direct memory access (RDMA) operations between a first server and a second server over a network fabric, the apparatus comprising:
-
a packet parser, configured to process a TCP segment within an arriving network frame, wherein said packet parser performs one or more speculative CRC checks according to an upper layer protocol (ULP), wherein said one or more speculative CRC checks are performed concurrent with arrival of said network frame; and
a protocol engine, coupled to said packet parser, configured to receive results of said one or more speculative CRC checks, and configured to selectively employ said results for validation of a framed protocol data unit (FPDU) according to said ULP. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. An apparatus, for performing remote direct memory access (RDMA) operations between a first server and a second server over a network fabric, the apparatus comprising:
-
a first network adapter, configured to access work queue elements, and configured to receive framed protocol data units (FPDUs) corresponding to the RDMA operations over a TCP/IP interface between the second and first servers, wherein the RDMA operations are responsive to said work queue elements, said first network adapter comprising;
a packet parser, configured to process a TCP segment within an arriving network frame, wherein said packet parser performs one or more speculative CRC checks according to an upper layer protocol (ULP), and wherein said one or more speculative CRC checks are performed concurrent with arrival of said network frame; and
a protocol engine, coupled to said packet parser, configured to receive results of said one or more speculative CRC checks, and configured to selectively employ said results for validation of an FPDU within said TCP segment according to said ULP. a second network adapter, configured to transmit said FPDUs. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A method for performing remote direct memory access (RDMA) operations between a first server and a second server over a network fabric, the method comprising:
-
processing work queue elements, wherein the work queue elements reside within a work queue that is within first host memory corresponding to the first server; and
accomplishing the RDMA operations over a TCP/IP interface between the first and second servers, wherein said accomplishing comprises;
receiving a network frame; and
concurrently generating and validating one or more speculative CRCs associated with a TCP segment within the network frame, wherein the speculative CRCs correspond to one or more types of CRC checks according to an upper layer protocol (ULP). - View Dependent Claims (31, 32, 33, 34, 35)
-
Specification