IP Library Granted Patent US 9,755,981
Granted Patent B2
US 9,755,981 · App. 14/205,173 · Granted Sep 5, 2017

Snooping forwarded packets by a virtual machine

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,755,981
App. No.
14/205,173
Granted
Sep 5, 2017
Kind
B2
Abstract

A method for performing LRO aggregation on packets being forwarded by a VM is provided. The method segments the LRO aggregated packet according to the Maximum Segment Size (MSS) of the TCP protocol before forwarding the segmented packets to their destination. The method snoops the packets being forwarded for its MSS parameter before using the snooped MSS parameter to perform Transmit Segmentation Offload (TSO) operation. The PNIC performs both the aggregation operation (LRO) and the segmentation (TSO) within its own hardware without consuming CPU cycles at the host machine. The PNIC receives the MSS parameter from the network stack as a metadata that accompanies a LRO aggregated packet.

Claims (17)

1. A method for a virtual machine to forward packets from a first network node to a second network node, comprising:

forwarding a first packet from the first network node to the second network node via a physical network interface controller (PNIC);

extracting a maximum packet size parameter from the first packet; and

forwarding a second packet to the PNIC, wherein the second packet is a packet, which includes a plurality packets from the first network node that have been aggregated according to an aggregation rule and is larger than allowed by the extracted maximum packet size parameter, and the PNIC is configured to segment the second packet into a third plurality of packets that are each smaller than or equal to the extracted maximum packet size and send the third plurality of packets to the second network node.

2. The method of claim 1 , wherein the extracted maximum packet size parameter is a maximum segmentation size (MSS) in a TCP syn/ack packet.

3. The method of claim 1 , wherein the extracting and the forwarding are performed at a link layer and an IP layer in a protocol stack that handles network protocols of the forwarded packets but not at a TCP layer nor at an application layer in the protocol stack.

4. The method of claim 3 , wherein the maximum packet size parameter is extracted from a header of a TCP layer packet.

5. The method of claim 1 , wherein the plurality of packets do not comprise a maximum packet size parameter.

6. The method of claim 1 , further comprising passing the extracted maximum packet size parameter to the PNIC with the second packet.

7. The method of claim 1 , wherein the PNIC is configured to aggregate the plurality of packets from the first network node into the second packet.

8. A computing device serving as a host machine in a network, the computing device comprising:

a processor for operating a virtual machine that forwards packets from a first node in the network to a physical network interface controller (PNIC) to send to a second node in the network, wherein the virtual machine extracts a maximum packet size from a particular forwarded packet, and at least some of the forwarded packets are larger than the maximum packet size; and

the PNIC for receiving packets from and transmitting packets to the network, wherein the PNIC aggregates received packets from the first network node into aggregated packets and segments the aggregated packets being forwarded by the virtual machine into segmented packets that are smaller than or equal to the extracted maximum packet size.

9. The computing device of claim 8 , wherein the maximum packet size is extracted from the header of a TCP syn/ack packet.

10. The computing device of claim 8 , wherein the processor is further for operating a protocol stack for handling network protocols of the forwarded packets, wherein the network protocols are handled at a link layer and an IP layer but not at a TCP layer nor at an application layer.

11. The computing device of claim 10 , wherein the maximum packet size is extracted from a header of a TCP layer packet.

12. The computing device of claim 8 , wherein the processor passes the extracted maximum packet size to the PNIC.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2014
From: JAIN, JAYANT; SENGUPTA, ANIRBAN; WU, WEIQING
To: VMWARE
Reel/Frame 032409/0299 →