IP Library Granted Patent US 10,848,413
Granted Patent B2
US 10,848,413 · App. 15/647,656 · Granted Nov 24, 2020

Self-expansion of a layer 3 network fabric

Inventors: Raja Kommula (Cupertino, CA); Rajendra Yavatkar (Saratoga, CA); Thayumanavan Sridhar (Sunnyvale, CA)
Assignee: Nicira, Inc.
H04L45/02H04L41/12H04L49/10H04L43/0817H04L45/04H04L45/24H04L45/26H04L45/48H04L45/54H04L49/1523
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,848,413
App. No.
15/647,656
Granted
Nov 24, 2020
Kind
B2
Abstract

The technology disclosed herein enables an L3 network fabric including one or more spine switches having a leaf-spine topology to be self-expanded. In a particular embodiment, a method provides transferring one or more probe messages from each of the spine switches. The probe messages detect whether new computing nodes have been attached to the communication network. The method further provides receiving a reply to at least one of the probe messages. The reply identifies a new computing node that is not yet included in the L3 fabric. In response to the reply, the method provides confirming physical network interfaces of the spine switches indicate valid connections to one or more new leaf switches of the new computing node, using L3 discovery protocols to ensure the connections conform to the leaf-spine topology, and transferring probe packets between the spine switches and leaf switches, including the new leaf switches, of computing nodes connected thereto to confirm configuration of all connections between the spine switches and the leaf switches of the computing nodes. Moreover, the method provides configuring L3 protocols for routing communications exchanged with the new computing node.

Claims (57)

1. A method of self-expanding a Layer 3 (L3) fabric of a communication network comprising one or more spine switches having a leaf-spine topology, the method comprising:

transferring a probe message from each of the spine switches to an initial network address in a pool of one or more network addresses reserved for computing nodes not included in the L3 fabric, wherein the probe messages detect whether new computing nodes have been attached to the communication network;

receiving a reply to the probe message, wherein the reply identifies a new computing node that is not yet included in the L3 fabric, and wherein the new computing node is assigned the initial network address;

in response to the reply:

confirming physical network interfaces of the spine switches indicate valid connections to one or more new leaf switches of the new computing node;

using L3 discovery protocols to ensure the connections conform to the leaf-spine topology; and

transferring probe packets between the spine switches and leaf switches, including the new leaf switches, of computing nodes connected thereto to confirm configuration of all connections between the spine switches and the leaf switches of the computing nodes; and

configuring L3 protocols for routing communications exchanged with the new computing node, wherein configuring the L3 protocols includes assigning a new network address not in the pool to the new computing node.

2. The method of claim 1 , wherein the one or more initial network addresses are included in an L3 address space reserved for newly added computing nodes.

3. The method of claim 1 , wherein transferring the one or more probe messages occurs periodically.

4. The method of claim 1 , wherein confirming the physical network interfaces of the spine switches indicate valid connections comprises:

checking interface state and interface speed for each of the physical network interfaces.

5. The method of claim 1 , wherein configuring the L3 protocols comprises:

determining a number of new subnets needed for the new computing node based on information identified while validating that the new computing node is properly connected; and

assigning the new subnets to L3 links between the spine switches and the leaf switches of the new computing node.

6. The method of claim 1 , wherein configuring the L3 protocols comprises:

configuring Border Gateway Protocol (BGP) for the new computing node;

assigning a BGP Autonomous System (AS) number to the new computing node; and

wherein the new computing node exports network information for private networks within the new computing node over BGP.

7. The method of claim 1 , wherein configuring the L3 protocols comprises:

configuring Protocol Independent Multicast (PIM) for the new computing node.

8. The method of claim 1 , wherein configuring the L3 protocols comprises:

creating Virtual Extensible Local Area Network (VXLAN) tunnels between the new computing node and one or more other computing nodes connected to the spine switches.

9. The method of claim 1 , wherein configuring the L3 protocols comprises:

updating edge systems of the communication network and a distributed logical router for the communication network with Virtual Local Area Network (VLAN) information used with respect to the new computing node.

10. The method of claim 1 , wherein configuring the L3 protocols comprises:

partitioning a subnet including the new computing node and one or more other computing nodes connected to the spine switches into one partition network for each computing node; and

creating one or more routes between the partition network of the new computing node and the partition networks of the one or more other computing nodes, wherein the routes are used for transporting packets without Virtual Local Area Network (VLAN) tags between computing nodes.

11. A system for self-expanding a Layer 3 (L3) fabric of a communication network comprising one or more spine switches having a leaf-spine topology, the system comprising: one or more computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:

transfer a probe message from each of the spine switches to an initial network address in a pool of one or more network addresses reserved for computing nodes not included in the L3 fabric, wherein the probe messages detect whether new computing nodes have been attached to the communication network;

receive a reply to the probe message, wherein the reply identifies a new computing node that is not yet included in the L3 fabric, and wherein the new computing node is assigned the initial network address; in response to the reply:

confirm physical network interfaces of the spine switches indicate valid connections to one or more new leaf switches of the new computing node;

use L3 discovery protocols to ensure the connections conform to the leaf-spine topology; and

transfer probe packets between the spine switches and leaf switches, including the new leaf switches, of computing nodes connected thereto to confirm configuration of all connections between the spine switches and the leaf switches of the computing nodes; and

configure L3 protocols for routing communications exchanged with the new computing node, wherein to configure the L3 protocols the program instructions direct the processing system to assign a new network address not in the pool to the new computing node.

12. The system of claim 11 , wherein the one or more initial network addresses are included in an L3 address space reserved for newly added computing nodes.

13. The system of claim 11 , wherein the transfer of the probe packets occurs periodically.

14. The system of claim 11 , wherein to confirm the physical network interfaces of the spine switches indicate valid connections, the program instructions direct the processing system to:

check interface state and interface speed for each of the physical network interfaces.

15. The system of claim 11 , wherein to configure the L3 protocols, the program instructions direct the processing system to:

determine a number of new subnets needed for the new computing node based on information identified while validating that the new computing node is properly connected; and

assign the new subnets to L3 links between the spine switches and the leaf switches of the new computing node.

16. The system of claim 11 , wherein to configure the L3 protocols, the program instructions direct the processing system to:

configure Border Gateway Protocol (BGP) for the new computing node;

assign a BGP Autonomous System (AS) number to the new computing node; and

wherein the new computing node exports network information for private networks within the new computing node over BGP.

17. The system of claim 11 , wherein to configure the L3 protocols, the program instructions direct the processing system to:

configure Protocol Independent Multicast (PIM) for the new computing node.

18. The system of claim 11 , wherein to configure the L3 protocols, the program instructions direct the processing system to:

create Virtual Extensible Local Area Network (VXLAN) tunnels between the new computing node and one or more other computing nodes connected to the spine switches.

19. The system of claim 11 , wherein to configure the L3 protocols, the program instructions direct the processing system to:

update edge systems of the communication network and a distributed logical router for the communication network with Virtual Local Area Network (VLAN) information used with respect to the new computing node.

20. The system of claim 11 , wherein to configure the L3 protocols, the program instructions direct the processing system to:

partition a subnet including the new computing node and one or more other computing nodes connected to the spine switches into one partition network for each computing node; and

create one or more routes between the partition network of the new computing node and the partition networks of the one or more other computing nodes, wherein the routes are used for transporting packets without Virtual Local Area Network (VLAN) tags between computing nodes.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2017
From: KOMMULA, RAJA; YAVATKAR, RAJENDRA; SRIDHAR, THAYUMANAVAN
To: NICIRA, INC.
Reel/Frame 043099/0295 →
Continuity (1)
Related Publication 20190020568A1 · Jan 17, 2019