IP Library Granted Patent US 11,929,945
Granted Patent B2
US 11,929,945 · App. 17/875,863 · Granted Mar 12, 2024

Managing network traffic in virtual switches based on logical port identifiers

Inventors: Jayant Jain (Cupertino, CA); Ganesan Chandrashekhar (Campbell, CA); Anirban Sengupta (Saratoga, CA); Pankaj Thakkar (Cupertino, CA); Alexander Tessmer (San Jose, CA)
Assignee: Nicira, Inc.
H04L49/70H04L12/4633H04L41/0803H04L45/34H04L45/64H04L49/30H04L45/38
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 11,929,945
App. No.
17/875,863
Granted
Mar 12, 2024
Kind
B2
Abstract

Described herein are systems, methods, and software to enhance network traffic management. In one implementation, a first host identifies a packet to be transferred from a first virtual machine on the first host to a second virtual machine on a second host. In response to identifying the packet, the first host identifies a source logical port for the first virtual machine, and transferring a communication to the second host, wherein the communication encapsulates the data packet and the source logical port. Once the packet is received by the second host, the second host may use the source logical port to determine a forwarding action for the packet.

Claims (36)

1. A method of operating a first host, the method comprising:

receiving a communication from a second host, wherein the communication comprises a packet that encapsulates a second packet in a payload for the packet and includes a source logical port identifier in a header for the packet, the source logical port identifier uniquely identifying a source logical port for a sending virtual machine of the second packet, the source logical port corresponding to a logical network link between a virtual switch on the second host and the sending virtual machine;

decapsulating the second packet from the packet; and

determining a forwarding action for the second packet based at least on the source logical port identifier and a data plane forwarding configuration.

2. The method of claim 1 , wherein determining the forwarding action for the second packet based at least on the source logical port and the data plane forwarding configuration comprises determining the forwarding action for the second packet based at least on the source logical port identifier, a destination logical port identifier for the virtual machine executing on the first host, and the data plane forwarding configuration.

3. The method of claim 1 , wherein the second packet comprises a transmission control protocol packet or a user datagram protocol packet.

4. The method of claim 1 , wherein the forwarding action comprises one of a block or a permit action.

5. The method of claim 1 , wherein the packet comprises a tunneling protocol packet.

6. The method of claim 5 , wherein the tunneling protocol comprises Generic Network Virtualization Encapsulation (GENEVE) protocol.

7. The method of claim 1 further comprising:

maintaining the data plane forwarding configuration based on forwarding rules and logical port status information associated with virtual machines.

8. A computing apparatus comprising:

a storage system;

a processing system operatively coupled to a storage system; and

program instructions stored on the storage system to operate a first host that, when executed by the processing system, direct the computing apparatus to:

receive a communication from a second host, wherein the communication comprises a packet that encapsulates a second packet in a payload for the packet and includes a source logical port identifier in a header for the packet, the source logical port identifier uniquely identifying a source logical port for a sending virtual machine of the second packet, the source logical port corresponding to a logical network link between a virtual switch on the second host and the sending virtual machine;

decapsulate the second packet from the packet; and

determine a forwarding action for the second packet based at least on the source logical port identifier and a data plane forwarding configuration.

9. The computing apparatus of claim 8 , wherein determining the forwarding action for the second packet based at least on the source logical port and the data plane forwarding configuration comprises determining the forwarding action for the second packet based at least on the source logical port identifier, a destination logical port identifier for the virtual machine executing on the first host, and the data plane forwarding configuration.

10. The computing apparatus of claim 8 , wherein the second packet comprises a transmission control protocol packet or a user datagram protocol packet.

11. The computing apparatus of claim 8 , wherein the forwarding action comprises one of a block or a permit action.

12. The computing apparatus of claim 8 , wherein the packet comprises a tunneling protocol packet.

13. The computing apparatus of claim 12 , wherein the tunneling protocol comprises Generic Network Virtualization Encapsulation (GENEVE) protocol.

14. The computing apparatus of claim 8 , wherein the program instructions further direct the computing apparatus to:

maintain the data plane forwarding configuration based on forwarding rules and logical port status information associated with virtual machines.

15. A system comprising:

a first host; and

a second host configured to:

receive a communication from the first host, wherein the communication comprises a packet that encapsulates a second packet in a payload for the packet and includes a source logical port identifier in a header for the packet, the source logical port identifier uniquely identifying a source logical port for a sending virtual machine of the second packet, the source logical port corresponding to a logical network link between a virtual switch on the first host and the sending virtual machine;

decapsulate the second packet from the packet; and

determine a forwarding action for the second packet based at least on the source logical port identifier and a data plane forwarding configuration.

16. The system of claim 15 , wherein determining the forwarding action for the second packet based at least on the source logical port and the data plane forwarding configuration comprises determining the forwarding action for the second packet based at least on the source logical port identifier, a destination logical port identifier for the virtual machine executing on the second host, and the data plane forwarding configuration.

17. The system of claim 15 , wherein the second packet comprises a transmission control protocol packet or a user datagram protocol packet.

18. The system of claim 15 , wherein the forwarding action comprises one of a block or a permit action.

19. The system of claim 15 , wherein the packet comprises a tunneling protocol packet.

20. The system of claim 19 , wherein the tunneling protocol comprises Generic Network Virtualization Encapsulation (GENEVE) protocol.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2022
From: JAIN, JAYANT; CHANDRASHEKHAR, GANESAN; SENGUPTA, ANIRBAN; THAKKAR, PANKAJ; TESSMER, ALEXANDER
To: NICIRA, INC.
Reel/Frame 060660/0436 →