Virtual memory protocol segmentation offloading
First Claim
Patent Images
1. A method comprising:
- determining, by a bus/memory interface of a network device or a network interface unit of the network device, presence of outbound payload data within a user memory space of a system memory of the network device, wherein the outbound payload data is originated by a user process running on a host processor of the network device and is to be delivered via an Internet Protocol (IP) network to a destination via a transport layer protocol;
fetching, by the bus/memory interface on behalf of the network interface unit, the outbound payload data, wherein the outbound payload data is distributed across a plurality of payload buffers within the system memory;
wherein the fetching involves performing direct virtual memory addressing of the user memory space, wherein the direct virtual memory addressing maps physical addresses of various portions of the outbound payload data to corresponding virtual addresses including accessing a plurality of buffer descriptors created within the system memory by a network driver running on the host processor, wherein the plurality of buffer descriptors include;
a first buffer descriptor including information indicative of a first starting address within the system memory of a first payload buffer of the plurality of payload buffers containing therein a first portion of the outbound payload data; and
a second buffer descriptor including information indicative of a second starting address within the system memory of a second payload buffer of the plurality of payload buffers containing therein a second portion of the outbound payload data; and
segmenting, by the network interface unit, the outbound payload data across one or more transport layer protocol packets.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for a more efficient transmission of network traffic are provided. According to one embodiment, payload data originated by a user process running on a host processor of a network device is fetched by an interface of the network device by performing direct virtual memory addressing of a user memory space of a system memory of the network device on behalf of a network interface unit of the network device. The direct virtual memory addressing maps physical addresses of various portions of the payload data to corresponding virtual addresses. The payload data is segmented by the network interface unit across one or more packets.
26 Citations
14 Claims
-
1. A method comprising:
-
determining, by a bus/memory interface of a network device or a network interface unit of the network device, presence of outbound payload data within a user memory space of a system memory of the network device, wherein the outbound payload data is originated by a user process running on a host processor of the network device and is to be delivered via an Internet Protocol (IP) network to a destination via a transport layer protocol; fetching, by the bus/memory interface on behalf of the network interface unit, the outbound payload data, wherein the outbound payload data is distributed across a plurality of payload buffers within the system memory; wherein the fetching involves performing direct virtual memory addressing of the user memory space, wherein the direct virtual memory addressing maps physical addresses of various portions of the outbound payload data to corresponding virtual addresses including accessing a plurality of buffer descriptors created within the system memory by a network driver running on the host processor, wherein the plurality of buffer descriptors include; a first buffer descriptor including information indicative of a first starting address within the system memory of a first payload buffer of the plurality of payload buffers containing therein a first portion of the outbound payload data; and a second buffer descriptor including information indicative of a second starting address within the system memory of a second payload buffer of the plurality of payload buffers containing therein a second portion of the outbound payload data; and segmenting, by the network interface unit, the outbound payload data across one or more transport layer protocol packets. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory program storage device readable by one or more processors of a network device embodying a program of instructions executable by the one or more processors to perform a method comprising:
-
determining, by a bus/memory interface of the network device or a network interface unit of the network device, presence of outbound payload data within a user memory space of a system memory of the network device, wherein the outbound payload data is originated by a user process running on a host processor of the network device and is to be delivered via an Internet Protocol (IP) network to a destination via a transport layer protocol; fetching, by the bus/memory interface on behalf of the network interface unit, the outbound payload data, wherein the outbound payload data is distributed across a plurality of payload buffers within the system memory; wherein the fetching involves performing direct virtual memory addressing of the user memory space, wherein the direct virtual memory addressing maps physical addresses of various portions of the outbound payload data to corresponding virtual addresses including accessing a plurality of buffer descriptors created within the system memory by a network driver running on the host processor, wherein the plurality of buffer descriptors include; a first buffer descriptor including information indicative of a first starting address within the system memory of a first payload buffer of the plurality of payload buffers containing therein a first portion of the outbound payload data; and a second buffer descriptor including information indicative of a second starting address within the system memory of a second payload buffer of the plurality of payload buffers containing therein a second portion of the outbound payload data; and segmenting, by the network interface unit, the outbound payload data across one or more transport layer protocol packets. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification