IP Library Granted Patent US 9,369,375
Granted Patent B2
US 9,369,375 · App. 14/102,205 · Granted Jun 14, 2016

Link-layer level link aggregation autoconfiguration

Inventors: Thomas Graf (Fehraltorf, CH); Jiri Pirko (Chocen, CZ)
Assignee: Red Hat, Inc.
H04L45/245H04L41/0886H04L41/12H04L43/12H04L45/02Y02B60/43
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,369,375
App. No.
14/102,205
Granted
Jun 14, 2016
Kind
B2
Abstract

A computing device identifies a plurality of network interface controllers (NICs) that are available for link aggregation. The computing device probes a network using a plurality of protocols to detect a topology of at least one network to which the plurality of NICs are connected. The computing device automatically establishes a link aggregation configuration including one or more of the plurality of NICs based on the determined network topology.

Claims (75)

1. A method comprising:

identifying, by a processing device, a plurality of network interface controllers (NICs) of a computing device that are available for link aggregation;

probing, by the processing device, a network using a plurality of protocols to detect a topology of at least one network to which the plurality of NICs are connected, wherein probing the network comprises:

broadcasting or multicasting a message from a first NIC of the plurality of NICs;

listening for the message from a remainder of the plurality of NICs; and

receiving the message at a second NIC of the plurality of NICs;

determining, in view of the message being received at the second NIC, that the first NIC and the second NIC can be aggregated; and

establishing, by the processing device, a link aggregation configuration comprising one or more of the plurality of NICs in view of the determined network topology, wherein establishing the link aggregation configuration comprises aggregating the first NIC and the second NIC.

2. The method of claim 1 , wherein identifying the plurality of NICs that are available for link aggregation comprises at least one of probing the computing device to identify the plurality of NICs or receiving a list of the plurality of NICs.

3. The method of claim 1 , further comprising:

detecting a change in the topology of the at least one network; and

modifying the link aggregation configuration in view of the change in the topology.

4. The method of claim 1 , wherein detecting the topology of the at least one network comprises:

identifying, for each NIC, a switch to which the NIC is connected;

determining, for each switch, capabilities of the switch; and

responsive to determining that any two NICs are connected to different switches, determining whether the different switches are connected to a same network.

5. The method of claim 4 , wherein detecting the topology of the at least one network further comprises:

determining, for each switch, whether the switch is configured with a virtual local area network (VLAN); and

determining, for each NIC, a bandwidth of the NIC.

6. The method of claim 1 , wherein the plurality of protocols comprise at least two of link aggregation control protocol (LACP), address resolution protocol (ARP), link line discovery protocol (LLDP), internet protocol version six neighbor discovery protocol (IPv6 NDP), or dynamic host configuration protocol (DHCP).

7. The method of claim 1 , wherein the link aggregation configuration is an optimal configuration for the topology of the at least one network that is determined in view of application of one or more link aggregation rules.

8. The method of claim 1 , wherein the at least one network comprises a first network and a second network, the method further comprising:

receiving a command from an orchestration system to set up a connection to the first network and to the second network;

probing the computing device to identify the plurality of NICs and determine, for each NIC of the plurality of NICs, whether the NIC is connected to the first network or the second network;

establishing a first link aggregation configuration for one or more NICs connected to the first network; and

establishing a second link aggregation configuration for one or more NICs connected to the second network.

9. The method of claim 1 , further comprising:

applying a plurality of link aggregation rules to assign weights to combinations of the plurality of NICs; and

determining the link aggregation configuration in view of the weights.

10. The method of claim 9 , wherein the plurality of link aggregation rules comprise a first link aggregation rule that assigns weights in view of link speed, a second link aggregation rule that assigns weights in view of shared switches between NICs, and a third link aggregation rule that assigns in view of connection to switches that support link aggregation control protocol (LACP).

11. The method of claim 1 , further comprising:

after probing the network, determining that the network topology is not fully characterized;

determining a type of information about the network topology that has not been obtained;

determining a type of probe that is capable of obtaining the determined type of information about the network; and

generating a new probe corresponding to the determined type of probe.

12. A non-transitory computer readable storage medium having instructions that, when executed by a processing device, cause the processing device to:

identify, by the processing device, a plurality of network interface controllers (NICs) of a computing device that are available for link aggregation;

probe, by the processing device, a network using a plurality of protocols to detect a topology of at least one network to which the plurality of NICs are connected, wherein probing the network comprises:

broadcasting or multicasting a message from a first NIC of the plurality of NICs:

listening for the message from a remainder of the plurality of NICs; and

receiving the message at a second NIC of the plurality of NICs;

determine, in view of on the message being received at the second NIC, that the first NIC and the second NIC can be aggregated; and

establish, by the processing device, a link aggregation configuration comprising one or more of the plurality of NICs in view of the determined network topology, wherein establishing the link aggregation configuration comprises aggregating the first NIC and the second NIC.

13. The non-transitory computer readable storage medium of claim 12 , wherein identifying the plurality of NICs that are available for link aggregation comprises at least one of probing the computing device to identify the plurality of NICs or receiving a list of the plurality of NICs.

14. The non-transitory computer readable storage medium of claim 12 , wherein the processing device is further to:

detect a change in the topology of the at least one network; and

modify the link aggregation configuration in view of the change in the topology.

15. The non-transitory computer readable storage medium of claim 12 , wherein to detect the topology of the at least one network the processing device is further to:

identify, for each NIC, a switch to which the NIC is connected;

determine, for each switch, capabilities of the switch; and

responsive to determining that any two NICs are connected to different switches, determine whether the different switches are connected to a same network.

16. The non-transitory computer readable storage medium of claim 15 , wherein to detect the topology of the at least one network the processing device is further to:

determine, for each switch, whether the switch is configured with a virtual local area network (VLAN); and

determine, for each NIC, a bandwidth of the NIC.

17. The non-transitory computer readable storage medium of claim 12 , wherein the link aggregation configuration is an optimal configuration for the topology of the at least one network that is determined in view of application of one or more link aggregation rules.

18. The non-transitory computer readable storage medium of claim 12 , wherein the at least one network comprises a first network and a second network, and wherein the processing device is further to:

receive a command from an orchestration system to set up a connection to the first network and to the second network;

probe the computing device to identify the plurality of NICs and determine, for each NIC of the plurality of NICs, whether the NIC is connected to the first network or the second network;

establish a first link aggregation configuration for one or more NICs connected to the first network; and

establish a second link aggregation configuration for one or more NICs connected to the second network.

19. A computing device comprising:

a memory; and

a processing device coupled to the memory, the processing device to:

identify a plurality of network interface controllers (NICs) of a computing device that are available for link aggregation;

probe a network using a plurality of protocols to detect a topology of at least one network to which the plurality of NICs are connected, wherein to probe the network the processing device is to:

broadcast or multicast a message from a first NIC of the plurality of NICs;

listen for the message from a remainder of the plurality of NICs; and

receive the message at a second NIC of the plurality of NICs;

determine, in view of the message being received at the second NIC, that the first NIC and the second NIC can be aggregated; and

automatically establish a link aggregation configuration comprising one or more of the plurality of NICs in view of the determined network topology, wherein the first NIC and the second NIC are to be aggregated in the link aggregation configuration.

20. The computing device of claim 19 , wherein the at least one network comprises a first network and a second network, the processing device further to:

receive a command from an orchestration system to set up a connection to the first network and to the second network;

probe the computing device to identify the plurality of NICs and determine, for each NIC of the plurality of NICs, whether the NIC is connected to the first network or the second network;

establish a first link aggregation configuration for one or more NICs connected to the first network; and

establish a second link aggregation configuration for one or more NICs connected to the second network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2014
From: GRAF, THOMAS; PIRKO, JIRI
To: RED HAT, INC.
Reel/Frame 033071/0097 →
Continuity (1)
Related Publication 20150163100A1 · Jun 11, 2015