Apparatus and method for stateless CRC calculation
First Claim
1. An apparatus comprising:
- an adapter to be comprised in a first server and being capable of performing remote direct memory access (RDMA) operations, the adapter comprising;
ports to receive one or more frames from a second server via a network; and
logic coupled to the ports, the logic to be coupled via a memory hub to a plurality of central processing units and to host memory, the plurality of central processing units, the memory hub, and the host memory being comprised in the first server, the logic being capable of generating and selectively providing an outgoing frame to a selected one of the ports for transmission via the network, the host memory being to include an RDMA-enabled adapter driver, the driver being to direct the adapter to generate and transmit the outgoing frame to the selected one of the ports;
the adapter being to perform a stateless cyclic redundancy check (CRC) validation of a received transport control protocol (TCP) segment from the one or more frames, the validation being performed by the adapter based upon an assumption that the TCP segment contains an RDMA framed protocol data unit; and
the adapter being to determine whether the TCP segment includes the RDMA protocol data unit, the adapter also being to determine, if the TCP segment does not include the RDMA protocol data unit, whether the TCP segment belongs to an accelerated TCP connection, the adapter being to selectively employ the CRC validation based at least in part upon whether the TCP segment includes the RDMA protocol data unit and belongs to the accelerated TCP connection.
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
12 Claims
-
1. An apparatus comprising:
an adapter to be comprised in a first server and being capable of performing remote direct memory access (RDMA) operations, the adapter comprising; ports to receive one or more frames from a second server via a network; and logic coupled to the ports, the logic to be coupled via a memory hub to a plurality of central processing units and to host memory, the plurality of central processing units, the memory hub, and the host memory being comprised in the first server, the logic being capable of generating and selectively providing an outgoing frame to a selected one of the ports for transmission via the network, the host memory being to include an RDMA-enabled adapter driver, the driver being to direct the adapter to generate and transmit the outgoing frame to the selected one of the ports; the adapter being to perform a stateless cyclic redundancy check (CRC) validation of a received transport control protocol (TCP) segment from the one or more frames, the validation being performed by the adapter based upon an assumption that the TCP segment contains an RDMA framed protocol data unit; and the adapter being to determine whether the TCP segment includes the RDMA protocol data unit, the adapter also being to determine, if the TCP segment does not include the RDMA protocol data unit, whether the TCP segment belongs to an accelerated TCP connection, the adapter being to selectively employ the CRC validation based at least in part upon whether the TCP segment includes the RDMA protocol data unit and belongs to the accelerated TCP connection. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method comprising:
-
receiving at ports one or more frames from a second server via a network, the ports being comprised in an adapter, the adapter to be comprised in a first server and being capable of performing remote direct memory access (RDMA) operations, the adapter also comprising logic coupled to the ports, the logic to be coupled via a memory hub to a plurality of central processing units and to host memory, the plurality of central processing units, the memory hub, and the host memory being comprised in the first server, the logic being capable of generating and selectively providing an outgoing frame to a selected one of the ports for transmission via the network, the host memory being to include an RDMA-enabled adapter driver, the driver being to direct the adapter to generate and transmit the outgoing frame to the selected one of the ports; performing by the adapter a stateless cyclic redundancy check (CRC) validation of a received transport control protocol (TCP) segment from the one or more frames, the validation being performed by the adapter based upon an assumption that the TCP segment contains an RDMA framed protocol data unit; and determining by the adapter whether the TCP segment includes the RDMA protocol data unit, the adapter being to determine, if the TCP segment does not include the RDMA protocol data unit, whether the TCP segment belongs to an accelerated TCP connection, the adapter being to selectively employ the CRC validation based at least in part upon whether the TCP segment includes the RDMA protocol data unit and belongs to the accelerated TCP connection. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification