IP Library Granted Patent US 10,320,674
Granted Patent B2
US 10,320,674 · App. 15/414,457 · Granted Jun 11, 2019

Independent network interfaces for virtual network environments

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,320,674
App. No.
15/414,457
Granted
Jun 11, 2019
Kind
B2
Abstract

One embodiment includes using a bridge device in support of a kernel bridge infrastructure. The kernel bridge infrastructure is modified using netfilter hooks to prevent forwarding of broadcast packets between bridge ports and to set a source media access control (MAC) address of an egress packet to a corresponding MAC address of a virtual network interface card (vNIC).

Claims (38)

1. A method comprising:

using a bridge device as a root interface in support of a kernel bridge infrastructure;

adding a plurality of virtual network interface cards (vNICs) as bridge ports; and

modifying behavior of the kernel bridge infrastructure using netfilter hooks, the modified behavior including prevention of forwarding of broadcast packets between the bridge ports and setting a source media access control (MAC) address of an egress packet to a corresponding MAC address of a vNIC, resulting in a network independent vNIC,

wherein the bridge device learns the MAC address on each bridge port and selects a vNIC for egress packets.

2. The method of claim 1 , wherein the network independent vNIC operates in Linux/Berkley Software Distribution (BSD) virtual machines (VMs).

3. The method of claim 1 , wherein network operations are executed on the root interface for a first device based on receiving packets through the vNICs, and the root interface is created in the first device.

4. The method of claim 1 , wherein the root interface is a single access point for accessing a plurality of underlying networks.

5. The method of claim 1 , wherein the root interface is assigned network properties and comprises a logical parent interface for all vNICs.

6. The method of claim 1 , wherein processing is performed for the operating system (OS) of the first device as if the received packets are directly received on the root interface to enable the first device to perform the network operations independent of vNICs connectivity; and each of the vNICs comprise child interfaces of the root interface.

7. The method of claim 4 , further comprising: connecting a vNIC added to the root interface to any virtual switch (VS) or VS port in the network system, wherein the vNICs connectivity is transparent to the underlying networks.

8. The method of claim 4 , further comprising:

receiving a packet comprising an address;

creating a table for mapping the address to vNICs;

selecting a vNIC for communicating to an underlying network based on a destination address; and

forwarding broadcast packets generated in the root interface to child vNICs without forwarding broadcast packets between the child vNICs.

9. The method of claim 8 , wherein the root interface is created using a device driver that provides adding other vNICs as child interfaces to the root interface, and a packet received on a child vNIC passes through the root device prior to reaching a networking stack of the OS.

10. The method of claim 9 , wherein the root interface is created based on managing bridge module operations using a bridge utility tool.

11. The method of claim 3 , wherein the first device is one of a virtual machine (VM), and a server with more than one network interfaces.

12. A computer program product for providing a network independent interface, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:

use, by the processor, a bridge device as a root interface for supporting a kernel bridge infrastructure;

add, by the processor, a plurality of virtual network interface cards (vNICs) as bridge ports; and

modify, by the processor, behavior of the kernel bridge infrastructure using netfilter hooks, the modified behavior including prevention of forwarding of broadcast packets between bridge ports and setting a source media access control (MAC) address of an egress packet to a corresponding MAC address of a vNIC, resulting in a network independent vNIC,

wherein the bridge device learns the MAC address on each bridge port and selects a vNIC for egress packets.

13. The computer program product of claim 12 , wherein the network independent vNIC operates in Linux/Berkley Software Distribution (BSD) virtual machines (VMs).

14. The computer program product of claim 12 , wherein:

a first device executes network services on the root interface;

network operations are executed on the root interface for the first device based on receiving packets through the vNICs;

the root interface is a single access point for accessing a plurality of underlying networks; and

the root interface is assigned network properties and comprises a logical parent interface for all vNICs.

15. The computer program product of claim 12 , wherein processing is performed for the operating system (OS) of the first device as if the received packets are directly received on the root interface to enable the first device to perform the network operations independent of vNICs connectivity; and each of the vNICs comprise child interfaces of the root interface.

16. The computer program product of claim 12 , further comprising program instructions executable by the processor to cause the processor to: connect a vNIC added to the root interface to any virtual switch (VS) or VS port in the network system, wherein the vNICs connectivity is transparent to the underlying networks.

17. The computer program product of claim 12 , further comprising program instructions executable by the processor to cause the processor to:

receive a packet comprising an address;

create a table for mapping the address to vNICs;

select a vNIC for communicating to an underlying network based on a destination address; and

forward broadcast packets generated in the root interface to child vNICs without forwarding broadcast packets between the child vNICs.

18. The computer program product of claim 17 , wherein the root interface is created using a device driver that provides for adding other vNICs as child interfaces to the root interface, and a packet received on a child vNIC passes through the root device prior to reaching a networking stack of the OS.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2017
From: BENNY, STEPHAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041068/0993 →