IP Library Granted Patent US 9,887,939
Granted Patent B2
US 9,887,939 · App. 14/644,258 · Granted Feb 6, 2018

Transmitting multi-destination packets in overlay networks

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,887,939
App. No.
14/644,258
Granted
Feb 6, 2018
Kind
B2
Abstract

In an embodiment, a network adapter receives a request from a first virtual switch of an overlay network to transmit a multi-destination packet to each of one or more virtual switches of the overlay network identified in a list stored in the network adapter. For each of the one or more virtual switches identified in the list, the network adapter creates a head-end replication of the multi-destination packet, obtains tunneling endpoint information for the identified virtual switch, encapsulates the created head-end replication of the multi-destination packet with a header specific to a tunneling protocol identified in the obtained tunneling endpoint information, and transmits the encapsulated packet to a receiver hosted on the identified virtual switch.

Claims (39)

1. A method comprising:

a network adapter receiving a request from a first virtual switch of an overlay network to transmit a multi-destination packet to each of one or more virtual switches of a multi-destination group of the overlay network, wherein the one or more virtual switches of the multi-destination group are identified in a multi-destination receivers list stored in the network adapter, wherein the overlay network is a logical network formed and operated using a logical representation of a network, and wherein the network adapter is a hardware component that connects a computer to the network and allows the computer to communicate with other computing devices of the network and the overlay network; and

for each of the one or more virtual switches identified in the list:

the network adapter creating a head-end replication of the multi-destination packet;

the network adapter obtaining tunneling endpoint information for the identified virtual switch;

the network adapter encapsulating the created head-end replication of the multi-destination packet with a header specific to a tunneling protocol identified in the obtained tunneling endpoint information; and

the network adapter transmitting the encapsulated packet to a receiver hosted on the identified virtual switch, wherein the encapsulated packet identifies the multi-destination group for utilization by the identified virtual switch in determining a destination port for the encapsulated packet, wherein the destination port is determined by identifying the multi-destination group in a port list on the identified virtual switch.

2. The method of claim 1 , further comprising:

in response to receiving a call made by the first virtual switch to an application programming interface of the network adapter, the network adapter adding an identifier of a second virtual switch to the list.

3. The method of claim 1 , further comprising:

in response to receiving a call made by the first virtual switch to an application programming interface of the network adapter, the network adapter deleting an identifier of a second virtual switch from the list.

4. The method of claim 1 , wherein said obtaining comprises retrieving the tunneling endpoint information for the identified virtual switch from a software defined networking controller.

5. The method of claim 1 , wherein the tunneling endpoint information comprises information about a tunneling protocol required by the identified virtual switch.

6. A memory storing program instructions executable by a processor of a network adapter to implement a method comprising:

the network adapter receiving a request from a first virtual switch of an overlay network to transmit a multi-destination packet to each of one or more virtual switches of a multi-destination group of the overlay network, wherein the one or more virtual switches of the multi-destination group are identified in a multi-destination receivers list stored in the network adapter, wherein the overlay network is a logical network formed and operated using a logical representation of a network, and wherein the network adapter is a hardware component that connects a computer to the network and allows the computer to communicate with other computing devices of the network and the overlay network; and

for each of the one or more virtual switches identified in the list:

the network adapter creating a head-end replication of the multi-destination packet;

the network adapter obtaining tunneling endpoint information for the identified virtual switch;

the network adapter encapsulating the created head-end replication of the multi-destination packet with a header specific to a tunneling protocol identified in the obtained tunneling endpoint information; and

the network adapter transmitting the encapsulated packet to a receiver hosted on the identified virtual switch, wherein the encapsulated packet identifies the multi-destination group for utilization by the identified virtual switch in determining a destination port for the encapsulated packet, wherein the destination port is determined by identifying the multi-destination group in a port list on the identified virtual switch.

7. The memory of claim 6 , wherein the method further comprises:

in response to receiving a call made by the first virtual switch to an application programming interface of the network adapter, the network adapter adding an identifier of a second virtual switch to the list.

8. The memory of claim 6 , wherein the method further comprises:

in response to receiving a call made by the first virtual switch to an application programming interface of the network adapter, the network adapter deleting an identifier of a second virtual switch from the list.

9. The memory of claim 6 , wherein said obtaining comprises retrieving the tunneling endpoint information for the identified virtual switch from a software defined networking controller.

10. The memory of claim 6 , wherein the tunneling endpoint information comprises information about a tunneling protocol required by the identified virtual switch.

11. A network adapter comprising a processor, a memory, and program instructions stored in the memory for execution by the processor to implement a method comprising:

the network adapter receiving a request from a first virtual switch of an overlay network to transmit a multi-destination packet to each of one or more virtual switches of a multi-destination group of the overlay network, wherein the one or more virtual switches of the multi-destination group are identified in a multi-destination receivers list stored in the network adapter, wherein the overlay network is a logical network formed and operated using a logical representation of a network, and wherein the network adapter is a hardware component that connects a computer to the network and allows the computer to communicate with other computing devices of the network and the overlay network; and

for each of the one or more virtual switches identified in the list:

the network adapter creating a head-end replication of the multi-destination packet;

the network adapter obtaining tunneling endpoint information for the identified virtual switch;

the network adapter encapsulating the created head-end replication of the multi-destination packet with a header specific to a tunneling protocol identified in the obtained tunneling endpoint information; and

the network adapter transmitting the encapsulated packet to a receiver hosted on the identified virtual switch, wherein the encapsulated packet identifies the multi-destination group for utilization by the identified virtual switch in determining a destination port for the encapsulated packet, wherein the destination port is determined by identifying the multi-destination group in a port list on the identified virtual switch.

12. The network adapter of claim 11 , wherein the method further comprises:

in response to receiving a call made by the first virtual switch to an application programming interface of the network adapter, the network adapter adding an identifier of a second virtual switch to the list.

13. The network adapter of claim 11 , wherein the method further comprises:

in response to receiving a call made by the first virtual switch to an application programming interface of the network adapter, the network adapter deleting an identifier of a second virtual switch from the list.

14. The network adapter of claim 11 , wherein said obtaining comprises retrieving the tunneling endpoint information for the identified virtual switch from a software defined networking controller.

15. The network adapter of claim 11 , wherein the tunneling endpoint information comprises information about a tunneling protocol required by the identified virtual switch.

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 Mar 11, 2015
From: BANAVALIKAR, BHALACHANDRA G.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035176/0939 →