摘要:
A method for offloading a secure protocol handshake. The method includes establishing a connection between a host system and a remote peer, and determining whether the secure protocol handshake is offloaded to a network interface card (NIC). When the secure protocol handshake is offloaded to the NIC, an offload request is sent to offload the secure protocol handshake, where the offload request includes a value of at least one cryptographic key. The method further includes performing cryptographic operations associated with the secure protocol handshake using the value of at least one cryptographic key to obtain at least one secret key, and returning a status of the secure protocol handshake to the host system.
摘要:
Encrypted data packets are received by a network interface card. The network interface card, upon determining that the received data packets are encrypted, directs the encrypted data packets to decryption hardware in the network interface card. The decryption hardware decrypts the encrypted data packets and forwards the decrypted data packets to a hardware classifier that classifies the decrypted data packets and directs the classified decrypted data packets to the appropriate receive resource(s) of the network interface card.
摘要:
Incoming/outgoing data packets to/from a network are processed by associated receive/send rings of a network interface. A plurality of counters, disposed in hardware, are each associated with particular receive/send rings. Each of the plurality of counters maintains a count of a number of data packets processed by an associated receive/send ring.
摘要:
A method for receiving network communication at a host is provided. The host has a network interface card (NIC) for receiving the network communication from a network. Data is requested through an application. A set of buffers (e.g., A, B, C, . . . ) is posted to system memory. Information regarding the set of buffers is passed to an adaptation layer. The adaptation layer is interposed between a socket layer and a transport layer of the protocol stack. The set of buffers identified in the adaptation layer is assigned expected sequence numbers (e.g., SN1, SN2, SN3 . . . ) for a sequence of incoming data (e.g., S1, S2, S3, . . . ). The adaptation layer reshuffles data of the sequence of incoming data to the set of buffers according to the expected sequence numbers. The expected sequence numbers are consecutively ordered to ensure that the sequence of incoming data in the ordered sequence is placed to the set of buffers according to the expected sequence numbers.
摘要:
A method for debugging network connections that involves receiving a packet for a first destination by a network interface card (NIC), classifying the packet, sending the packet to a first receive ring associated with the NIC, and sending the packet from the first receive ring to a first virtual NIC, where the first virtual NIC is associated with a second destination, and where the second destination is used to debug the first destination.
摘要:
A method for debugging network connections that involves receiving a packet for a first destination by a network interface card (NIC), classifying the packet, sending the packet to a first receive ring associated with the NIC, and sending the packet from the first receive ring to a first virtual NIC, where the first virtual NIC is associated with a second destination, and where the second destination is used to debug the first destination.
摘要:
A multidata framework is provided to allow multiple payload buffers to be associated with a single multidata message. In the multidata framework of the present invention, a number of payload buffers are associated with the multidata following allocation of the multidata header buffer. The number of payload buffers can reside at disjoint virtual address locations in memory. Each payload buffer is assigned an index for identification purposes. A number of packets are defined to represent the multidata message. Each packet includes a header portion and a payload portion. The payload portion is defined as a set of payload spans. Each payload span is mapped to the payload portion of the appropriate packet by an appropriate payload buffer index and address range in the appropriate payload buffer. Thus, a packet's payload portion can include payload spans that are located at disjoint virtual address location in memory.
摘要:
A host memory location pointer is posted from a host device to a network interface card (NIC) attached to the host device prior to receipt at the NIC of data to be placed in the host memory location corresponding to the pointer. Posting the host memory location pointer serves to surrender ownership of the host memory location from the host device to the NIC. Data received at the NIC is placed in the host memory location corresponding to the pointer. Furthermore, the NIC operates to prevent placement of the data in a portion of the host memory where data has been previously placed by the NIC. Also, the host device operates to re-assume ownership of the portion of the host memory having data placed therein by the NIC without actively reclaiming ownership of the portion of the host memory location from the NIC.