IP Library Granted Patent US 10,348,683
Granted Patent B2
US 10,348,683 · App. 15/801,487 · Granted Jul 9, 2019

Network packet filtering via media access control (MAC) address learning

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,348,683
App. No.
15/801,487
Granted
Jul 9, 2019
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 computing system may identify media access control (MAC) addresses and communication statistics for virtual nodes communicating over physical network interfaces of the computing system. The computing system may further prioritize the MAC addresses based on the virtual network interface ports and physical network interface ports that the MAC addresses were identified on, and generate a filter configuration for the physical network interfaces based on the prioritization and the communication statistics.

Claims (58)

1. A method of managing packet filters for physical network interfaces 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 interfaces via a virtual switch;

for each MAC address in the MAC addresses, identifying a priority value based on a virtual network interface port and a physical network interface of the physical network interfaces that the MAC address was identified on by the virtual switch;

identifying a subset of the MAC addresses that meet filter criteria based on the priority values;

identifying a filter configuration for the subset of the MAC addresses based on the dispatch statistics for the subset of the MAC addresses, wherein the filter configuration classifies received packets at the physical network interfaces into processing queues based on attributes identified in the received packets; and

applying the filter configuration at the physical network interfaces.

2. The method of claim 1 further comprising transferring a request to the virtual switch for the dispatch statistics.

3. 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.

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

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

6. The method of claim 1 , wherein identifying a priority value based on a virtual network interface port and a physical network interface of the physical network interfaces that the MAC address was identified on by the virtual switch comprises identifying a priority value based on an order of which the MAC address was identified on the virtual network interface port in relation to other MAC addresses by the virtual switch and an order of which the MAC address was identified on the physical network interface in relation to other MAC addresses by the virtual switch.

7. The method of claim 1 , wherein identifying a priority value based on a virtual network interface port and a physical network interface of the physical network interfaces that the MAC address was identified on by the virtual machine comprises:

identifying a first value for the MAC address associated with the virtual network interface port that the MAC address was identified on by the virtual switch;

identifying a second value for the MAC address associated with the physical network interface that the MAC address was identified on by the virtual switch; and

generating a priority value for the MAC address based on the first and second values.

8. The method of claim 1 , wherein identifying the subset of the MAC addresses that meet the filter criteria based on the priority values comprises heapifying the MAC addresses to determine the subset of the MAC addresses that meet the filter criteria.

9. A computing system comprising:

one or more non-transitory computer readable storage media;

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

program instructions stored on the one or more non-transitory computer readable storage media to manage packet filters for physical network interfaces of the 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 interfaces via a virtual switch;

for each MAC address in the MAC addresses, identify priority value based on a virtual network interface port and a physical network interface of the physical network interfaces that the MAC address was identified on by the virtual switch;

identify a subset of the MAC addresses that meet filter criteria based on the priority values;

identify a filter configuration for the subset of the MAC addresses based on the dispatch statistics for the subset of the MAC addresses, wherein the filter configuration classifies received packets at the physical network interfaces into processing queues based on attributes identified in the received packets; and

apply the filter configuration at the physical network interfaces.

10. The computing system of claim 9 , wherein the program instructions further direct the processing system to transfer a request to the virtual switch for dispatch statistics.

11. The computing system 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.

12. The computing system of claim 9 , wherein the virtual nodes comprise virtual machines or containers.

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

14. The computing system of claim 9 , wherein identifying a priority value based on a virtual network interface port and a physical network interface of the physical network interfaces that the MAC address was identified on by the virtual switch comprises identifying a priority value based on an order of which the MAC address was identified on the virtual network interface port in relation to other MAC addresses by the virtual switch and an order of which the MAC address was identified on the physical network interface in relation to other MAC addresses by the virtual switch.

15. The computing system of claim 9 , wherein identifying a priority value based on a virtual network interface port and a physical network interface of the physical network interfaces that the MAC address was identified on by the virtual machine comprises:

identifying a first value for the MAC address associated with the virtual network interface port that the MAC address was identified on by the virtual switch;

identifying a second value for the MAC address associated with the physical network interface that the MAC address was identified on by the virtual switch; and

generating a priority value for the MAC address based on the first and second values.

16. The computing system of claim 1 , wherein identifying the subset of the MAC addresses that meet the filter criteria based on the priority values comprises heapifying the MAC addresses to determine the subset of the MAC addresses that meet the filter criteria.

17. An apparatus comprising:

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 for physical network interfaces of the 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 interfaces via a virtual switch;

for each MAC address in the MAC addresses, identify priority value based on a virtual network interface port and a physical network interface of the physical network interfaces that the MAC address was identified on by the virtual switch;

identify a subset of the MAC addresses that meet filter criteria based on the priority values;

identify a filter configuration for the subset of the MAC addresses based on the dispatch statistics for the subset of the MAC addresses, wherein the filter configuration classifies received packets at the physical network interfaces into processing queues based on attributes identified in the received packets; and

apply the filter configuration at the physical network interfaces.

18. The apparatus of claim 17 , 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.

19. The apparatus of claim 17 , wherein identifying a priority value based on a virtual network interface port and a physical network interface of the physical network interfaces that the MAC address was identified on by the virtual switch comprises identifying a priority value based on an order of which the MAC address was identified on the virtual network interface port in relation to other MAC addresses by the virtual switch and an order of which the MAC address was identified on the physical network interface in relation to other MAC addresses by the virtual switch.

20. The apparatus of claim 17 , wherein identifying the subset of the MAC addresses that meet the filter criteria based on the priority values comprises heapifying the MAC addresses to determine the subset of the MAC addresses that meet the filter criteria.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2017
From: HOLLA, ADITYA; JIANG, WENYI; KHARE, SHRIKRISHNA; VEERAIYAN, AYYAPPAN; NAIR, RAJEEV
To: NICIRA, INC.
Reel/Frame 044017/0261 →