Liveness detection and route convergence in software-defined networking distributed system
Abstract
This disclosure describes techniques for improving speed of network convergence after node failure. In one example, a method includes storing, by SDN controller, an underlay routing table having routes for an underlay network of a data center and an overlay routing table having a set of routes for a virtual network of an overlay network for the data center, wherein the underlay network includes physical network switches, gateway routers, and a set of virtual routers executing on respective compute nodes of the data center; installing, within the underlay routing table, a route to a destination address assigned to a particular one of the virtual routers as an indicator of a reachability status to the particular virtual router in the underlay network. The SDN controller controls, based on presence or absence of the route within the underlay routing table, advertisement of the routes for the virtual network of the overlay network.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
determining, by a Software Defined Networking (SDN) controller and based on whether an underlay network route is stored for a destination in an underlay network, whether a next hop for a corresponding virtual private network (VPN) route for the destination is reachable by the SDN controller, the underlay network route comprising a route received by the SDN controller from a node in an Internet Protocol (IP) fabric of the underlay network; and in response to determining the next hop for the VPN route is unreachable, withdrawing, by the SDN controller, the VPN route from any network peers to which the VPN route was previously advertised.
2 . The method of claim 1 , further comprising:
in response to determining the next hop for the VPN route is unreachable, refraining, by the SDN controller, from advertising the VPN route.
3 . The method of claim 1 ,
wherein determining whether the next hop for the corresponding VPN route for the destination is reachable by the SDN controller comprises determining whether the underlay network route is stored in underlay routing information maintained by the SDN controller, wherein the underlay routing information stores routes advertised to the SDN controller by the IP fabric of the underlay network.
4 . The method of claim 1 , wherein the node in the IP fabric comprises a spine switch, the method further comprising:
receiving, by the SDN controller and via a Border Gateway Protocol session between the SDN controller and the spine switch, a plurality of underlay network routes to active tunnel endpoints of the underlay network, wherein the underlay network route comprises one of the plurality of underlay network routes, wherein the active tunnel endpoints comprise tunnel endpoints indicated as reachable based on a fault detection protocol session between the active tunnel endpoints and a leaf node of the IP fabric.
5 . The method of claim 4 , wherein the fault detection protocol session comprises a Bidirectional Forwarding Detection (BFD) protocol session.
6 . The method of claim 1 , further comprising, by the SDN controller and prior to determining the next hop for the overlay network route is unreachable:
receiving the underlay network route from the node in the IP fabric of the underlay network; and in response to receiving the underlay network route:
determining that the next hop for the corresponding VPN route for the destination is reachable;
marking the corresponding VPN route for the destination as reachable;
advertising the VPN route to at least one of a compute node or an SDN gateway device; and
advertising the underlay network route to the at least one of a compute node or an SDN gateway device.
7 . The method of claim 1 , further comprising:
receiving, by the SDN controller, a message from the node in the IP fabric indicating the underlay network route is withdrawn because the destination is unreachable by the IP fabric; updating, by the SDN controller, stored underlay routing information to remove the underlay network route that is withdrawn; and updating, by the SDN controller, stored overlay routing information to remove the VPN route and any other VPN routes dependent upon the underlay network route, wherein determining whether the next hop for the corresponding VPN route for the destination is reachable by the SDN controller comprises determining the next hop is not reachable because the underlay network route has been removed, and wherein withdrawing the VPN route comprises:
sending, to at least one of a compute node or an SDN gateway device, a message withdrawing the VPN route.
8 . The method of claim 7 , further comprising, by the SDN controller and in response to updating the stored underlay routing information to remove the underlay network route that is withdrawn, sending, to at least one of a compute node or an SDN gateway device, a message withdrawing the underlay network route.
9 . The method of claim 7 , further comprising:
determining, by a leaf switch of the IP fabric and via a fault detection protocol session established between the leaf switch and a compute node of the underlay network, that the compute node is not responding on the fault detection protocol session; and propagating, by the leaf switch and in response to the determining that the compute node is not responding, a route withdrawal message through the IP fabric withdrawing an underlay network route for the compute node, wherein the node in the IP fabric comprises a spine switch that received a corresponding message based on the propagating.
10 . The method of claim 1 , wherein the destination for the underlay network route comprises a host address for a compute node managed by the SDN controller, and wherein the corresponding VPN route for the destination comprises a VPN route advertised by the compute node.
11 . A method comprising:
advertising, by a compute node managed by a Software Defined Networking (SDN) controller, the compute node as a next hop for a virtual private network (VPN) route; establishing, by the compute node, a fault detection protocol session with a leaf switch of an Internet Protocol (IP) fabric of an underlay network to communicate a reachability status of the compute node to the leaf switch; and receiving, by the compute node, traffic destined for the VPN route only when the fault detection protocol session indicates to the leaf switch of the IP fabric that the compute node is reachable.
12 . The method of claim 11 , further comprising:
advertising, by the compute node and to the leaf switch via a Border Gateway Protocol (BGP) session between the compute node and the leaf switch, an underlay network route to the compute node.
13 . The method of claim 12 , wherein establishing the fault detection protocol session comprises establishing a Bidirectional Forwarding Detection session over the BGP session between the compute node and the leaf switch.
14 . The method of claim 11 , further comprising:
receiving, by the compute node operating as a messaging protocol client over a messaging protocol session between the SDN controller and the compute node, a plurality of VPN routes to other compute nodes managed by the SDN controller; and receiving, by the compute node operating as the messaging protocol client, a message withdrawing one of the plurality of VPN routes in response to the SDN controller receiving from a spine switch in the IP fabric a message withdrawing a corresponding underlay network route to one of the other compute nodes.
15 . The method of claim 11 , wherein advertising the compute node as the next hop for a VPN route comprises advertising the VPN route to the SDN controller as a messaging protocol client of the compute node operating as a messaging protocol server, wherein the VPN route comprises a virtual route to a virtual interface.
16 . A Software Defined Networking (SDN) controller comprising:
processing circuitry in communication with a memory, the processing circuitry being configured to: determine, based on whether an underlay network route is stored for a destination in an underlay network, whether a next hop for a corresponding virtual private network (VPN) route for the destination is reachable by the SDN controller, the underlay network route comprising a route received by the SDN controller from a node in an Internet Protocol (IP) fabric of the underlay network, wherein the SDN controller manages an overlay network; and in response to the determination that the next hop for the VPN route for the destination is unreachable, withdraw the VPN route from any network peers to which the VPN route was previously advertised.
17 . The SDN controller of claim 16 , further comprising:
in response the determination that the next hop for the VPN route is unreachable, refrain from advertising the VPN route.
18 . The SDN controller of claim 16 , wherein the processing circuitry being configured to determine whether the next hop for the corresponding VPN route for the destination is reachable by the SDN controller comprises the processing circuitry being configured to determine whether the underlay network route is stored in underlay routing information maintained by the SDN controller, wherein the underlay routing information stores routes advertised to the SDN controller by the IP fabric of the underlay network.
19 . A computing device comprising processing circuitry in communication with a memory, the processing circuitry being configured to:
advertise the computing device as a next hop for a virtual private network (VPN) route; establish a fault detection protocol session with a leaf switch of an Internet Protocol (IP) fabric of an underlay network to communicate a reachability status of the computing device to the leaf switch; and receive traffic destined for the VPN route only when the fault detection protocol session indicates to the leaf switch of the IP fabric that the computing device is reachable.
20 . The computing device of claim 19 , the processing circuitry being configured to:
advertise to the leaf switch via a Border Gateway Protocol (BGP) session between the computing device and the leaf switch, an underlay network route to the computing device, wherein the fault detection protocol session comprises a Bidirectional Forwarding Detection session running over the BGP session between the computing device and the leaf switch.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.