IP Library Granted Patent US 10,757,076
Granted Patent B2
US 10,757,076 · App. 15/655,422 · Granted Aug 25, 2020

Enhanced network processing of virtual node data packets

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 10,757,076
App. No.
15/655,422
Granted
Aug 25, 2020
Kind
B2
Abstract

Described herein are systems, methods, and software to enhance the management of packet filters for host computing systems. In one implementation, a method of managing packet filters for a physical network interface on a host computing system includes obtaining dispatch statistics for media access control (MAC) addresses associated with virtual nodes communicating over the physical network interface via a virtual switch. After obtaining the dispatch statistics, the method further provides identifying a filter configuration based on the dispatch statistics, wherein the filter configuration classifies received packets at the physical network interface into processing queues based on attributes identified in the received packets, and applying the filter configuration in the physical network interface.

Claims (67)

1. A method of managing packet filters for a physical network interface of a host computing system, the method comprising:

obtaining dispatch statistics for media access control (MAC) addresses associated with virtual nodes communicating over the physical network interface via a virtual switch;

determining, for the MAC addresses, one or more network overlay configurations associated with one or more of the MAC addresses;

identifying a filter configuration based on the dispatch statistics and the one or more network overlay configurations, wherein the filter configuration classifies received packets at the physical network interface into processing queues based on attributes identified in the received packets; and

applying the filter configuration at the physical network interface.

2. The method of claim 1 , wherein the dispatch statistics comprise:

a number of packets transmitted by each MAC address of the MAC addresses;

a number of packets received by each MAC address of the MAC addresses;

a number of bytes transmitted by each MAC address of the MAC addresses; and/or

a number of bytes received by each MAC address of the MAC addresses.

3. The method of claim 1 , wherein the method further includes transferring a request to the virtual switch for the dispatch statistics.

4. The method of claim 1 , wherein a subset of the virtual nodes executes within a second subset of the virtual nodes, and wherein the second subset of the virtual nodes comprise virtual network interfaces mapped to the virtual switch.

5. The method of claim 1 , wherein the virtual nodes comprise virtual machines or containers.

6. The method of claim 1 , wherein the attributes identified in the received packets comprise destination MAC addresses identified in the received packets.

7. The method of claim 1 further comprising:

receiving mapping notifications indicative of one or more of the virtual nodes being mapped to the virtual switch, wherein the mapping notifications comprise a virtual network interface (VNIC) port identifier for each of the one or more virtual nodes and a MAC address for each of the one or more virtual nodes; and

maintaining an overlay record indicative of whether each VNIC port identifier for the one or more virtual nodes corresponds to a network overlay configuration;

wherein obtaining the dispatch statistics for the MAC addresses comprises obtaining the MAC addresses with each MAC address of the MAC addresses associated with a VNIC port identifier and corresponding dispatch statistics;

wherein determining, for the MAC addresses, the one or more network overlay configurations comprises determining, for the MAC addresses, the one or more network overlay configurations based on one or more VNIC port identifiers associated with the one or more MAC addresses and the overlay record.

8. The method of claim 1 further comprising:

identifying whether two or more MAC addresses of the MAC addresses share an overlay MAC address;

if two or more MAC addresses of the MAC addresses share an overlay MAC address:

aggregating the dispatch statistics for the two or more MAC addresses; and

updating the dispatch statistics with the aggregated dispatch statistics for the two or more MAC addresses.

9. A computing apparatus comprising:

one or more non-transitory computer readable storage media;

a processing system operatively coupled to the one or more non-transitory computer readable storage media; and

program instructions stored on the one or more non-transitory computer readable storage media to manage packet filters of a physical network interface of a host computing system that, when read and executed by the processing system, direct the processing system to at least:

obtain dispatch statistics for media access control (MAC) addresses associated with virtual nodes communicating over the physical network interface via a virtual switch;

determine, for the MAC addresses, one or more network overlay configurations associated with one or more of the MAC addresses;

identify a filter configuration based on the dispatch statistics and the one or more network overlay configurations, wherein the filter configuration classifies received packets at the physical network interface into processing queues based on attributes identified in the received packets; and

apply the filter configuration at the physical network interface.

10. The computing apparatus of claim 9 , wherein the dispatch statistics comprise:

a number of packets transmitted by each MAC address of the MAC addresses;

a number of packets received by each MAC address of the MAC addresses;

a number of bytes transmitted by each MAC address of the MAC addresses; and/or

a number of bytes received by each MAC address of the MAC addresses.

11. The computing apparatus of claim 9 , wherein the attributes identified in the received packets comprise destination MAC addresses identified in the received packets.

12. The computing apparatus of claim 9 , wherein a subset of the virtual nodes executes within a second subset of the virtual nodes, and wherein the second subset of the virtual nodes comprise virtual network interfaces mapped to the virtual switch.

13. The computing apparatus of claim 9 , wherein the virtual nodes comprise virtual machines or containers.

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

receive mapping notifications indicative of one or more of the virtual nodes being mapped to the virtual switch, wherein the mapping notifications comprise a virtual network interface (VNIC) port identifier for each of the one or more virtual nodes and a MAC address for each of the one or more virtual nodes; and

maintain an overlay record of whether each VNIC port identifier for the one or more virtual nodes corresponds to a network overlay configuration;

wherein obtaining the dispatch statistics for the MAC addresses comprises obtaining the MAC addresses with each MAC address of the MAC addresses associated with a VNIC port identifier and corresponding dispatch statistics;

wherein determining, for the MAC addresses, the one or more network overlay configurations comprises determining, for the MAC addresses, the one or more network overlay configurations based on one or more VNIC port identifiers associated with the one or more MAC addresses and the overlay record.

15. The computing system of claim 9 , wherein the program instructions further direct the processing system to:

identify whether two or more MAC addresses of the MAC addresses share an overlay MAC address;

if two or more MAC addresses of the MAC addresses share an overlay MAC address:

aggregate the dispatch statistics for the two or more MAC addresses; and

update the dispatch statistics with the aggregated dispatch statistics.

16. An apparatus comprising:

one or more non-transitory computer readable storage media;

program instructions stored on the one or more non-transitory computer readable storage media to manage packet filters of a physical network interface of a host computing system that, when read and executed by a processing system, direct the processing system to at least:

obtain dispatch statistics for media access control (MAC) addresses associated with virtual nodes communicating over the physical network interface via a virtual switch;

determine, for the MAC addresses, one or more network overlay configurations associated with one or more of the MAC addresses;

identify a filter configuration based on the dispatch statistics and the one or more network overlay configurations, wherein the filter configuration classifies received packets at the physical network interface into processing queues based on attributes identified in the received packets; and

apply the filter configuration at the physical network interface.

17. The apparatus of claim 16 , wherein the dispatch statistics comprise:

a number of packets transmitted by each MAC address of the MAC addresses;

a number of packets received by each MAC address of the MAC addresses;

a number of bytes transmitted by each MAC address of the MAC addresses; and/or

a number of bytes received by each MAC address of the MAC addresses.

18. The apparatus of claim 16 , wherein the program instructions further direct the processing system to:

identify whether two or more MAC addresses of the MAC addresses share an overlay MAC address;

if two or more MAC addresses of the MAC addresses share an overlay MAC address:

aggregate the dispatch statistics for the two or more MAC addresses; and

update the dispatch statistics with the aggregated dispatch statistics.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2017
From: KHARE, SHRIKRISHNA; VEERAIYAN, AYYAPPAN; JIANG, CRAIGE WENYI; YANG, GUOLIN
To: NICIRA, INC.
Reel/Frame 043228/0790 →