Method and apparatus for offloading message segmentation to a network interface card
First Claim
1. A method for offloading message segmentation from a central processing unit to a network interface card, comprising:
- receiving a Message send packet at the network interface card from the central processing unit, wherein the Message send packet contains information about a message to be sent;
using a header address from the Message send packet to access a message header from memory using remote direct memory access;
using a payload address from the Message send packet to access a payload containing message data from memory using remote direct memory access;
segmenting the payload into a set of maximum segment size segments; and
transmitting the payload on a network by transmitting the set of maximum segment size segments.
2 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that facilitates offloading message segmentation from a central processing unit onto a network interface card. The system operates by first receiving a TSO-send message at the network interface card, wherein the TSO-send message contains information about the message to be sent. Next, the system uses a header address from the TSO-send message to access a message header from memory using remote direct memory access. The system then uses a payload address from the TSO-send message to access a payload from memory that contains message data using remote direct memory access. Finally, the network interface card segments the payload into a set of maximum segment size (mss) segments and transmits the set of mss segments on the network.
43 Citations
24 Claims
-
1. A method for offloading message segmentation from a central processing unit to a network interface card, comprising:
-
receiving a Message send packet at the network interface card from the central processing unit, wherein the Message send packet contains information about a message to be sent;
using a header address from the Message send packet to access a message header from memory using remote direct memory access;
using a payload address from the Message send packet to access a payload containing message data from memory using remote direct memory access;
segmenting the payload into a set of maximum segment size segments; and
transmitting the payload on a network by transmitting the set of maximum segment size segments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for offloading message segmentation from a central processing unit to a network interface card, the method comprising:
-
receiving a Message send packet at the network interface card from the central processing unit, wherein the Message send packet contains information about a message to be sent;
using a header address from the Message send packet to access a message header from memory using remote direct memory access;
using a payload address from the Message send packet to access a payload containing message data from memory using remote direct memory access;
segmenting the payload into a set of maximum segment size segments; and
transmitting the payload on a network by transmitting the set of maximum segment size segments. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for offloading message segmentation from a central processing unit to a network interface card, comprising:
-
a receiving mechanism that is configured to receive a Message send packet at the network interface card from the central processing unit, wherein the Message send packet contains information about a message to be sent;
an accessing mechanism that is configured to use a header address from the Message send packet to access a message header from memory using remote direct memory access;
wherein the accessing mechanism is further configured to use a payload address from the Message send packet to access a payload containing message data from memory using remote direct memory access;
a segmenting mechanism that is configured to segment the payload into a set of maximum segment size segments; and
a transmitting mechanism that is configured to transmit the payload on a network by transmitting the set of maximum segment size segments. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification