IP Library › Granted Patent US 10,715,427
Granted Patent B2
US 10,715,427 · App. 15/965,558 · Granted Jul 14, 2020

Determining routing decisions in a software-defined wide area network overlay

Inventors: Anil Raj (Bangalore, IN); Keshava Ayanur (Bangalore, IN)
Assignee: Hewlett Packard Enterprise Development LP
H04L45/48H04L12/4633H04L45/021H04L45/64H04L41/12
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,715,427
App. No.
15/965,558
Granted
Jul 14, 2020
Kind
B2
Abstract

Some examples relate to determining routing decisions in a SD-WAN overlay. In an example, a controller in a SD-WAN overlay comprising a plurality of network nodes may receive respective routing and link information from a respective routing agent present on each network node of the plurality of network nodes. The controller may generate a Prefix tree based on the respective routing and link information received from the respective routing agent. The prefix tree may store prefixes along with respective prefix information. The controller may determine, for each prefix in the Prefix tree, a respective routing decision for each network node in the plurality of network nodes. The controller may distribute the respective routing decision to each network node in the plurality of network nodes in the SD-WAN overlay.

Claims (47)

1. A method comprising:

receiving, by a controller in a software-defined wide area network (SD-WAN) overlay comprising a plurality of network nodes, respective routing and link information from a respective routing agent present on each network node of the plurality of network nodes;

generating, by the controller, a prefix tree based on the respective routing and link information received from the respective routing agent, wherein the prefix tree stores prefixes along with respective prefix information;

determining, by the controller, for each prefix in the prefix tree, a respective routing decision for each network node in the plurality of network nodes; and

distributing, by the controller, the respective routing decision to each network node in the plurality of network nodes in the SD-WAN overlay.

2. The method of claim 1 , wherein determining comprises:

identifying, by the controller, for a given prefix in the prefix tree and for a given network node in the plurality of network nodes, a best cost source network node as a next hop for the given prefix from the given network node.

3. The method of claim 2 , wherein identifying the best cost source network node as the next hop for the given prefix from the given network node comprises:

determining, by the controller, a least prefix cost for the given prefix, wherein the least prefix cost for the given prefix is a least cost of reaching the given prefix from the given network node.

4. The method of claim 3 , wherein determining, by the controller, the least prefix cost for the given prefix comprises:

determining, by the controller, for each source network node of the given prefix, a prefix cost, wherein the prefix cost is a cost of reaching the given prefix from a given network node, wherein the cost of reaching the given prefix from the given network node is a sum total of a cost advertised by the given source network node and a cost of reaching the source network node from the given network node;

comparing, by the controller, the prefix cost of each source network node; and

identifying, by the controller, a least prefix cost source network node in response to the comparison.

5. The method of claim 1 , wherein the respective prefix information includes information related to a source network node of a prefix, and a cost associated with the prefix from the source network node.

6. The method of claim 1 , further comprising:

applying, by the controller, a priority to a prefix in the prefix tree.

7. The method of claim 1 , further comprising:

applying, by the controller, a policy to a prefix in the prefix tree.

8. A controller comprising:

a processor; and

a memory including instructions that, when executed by the processor, cause the controller to:

receive in a software-defined wide area network (SD-WAN) overlay comprising a plurality of network nodes, respective routing and link information from a respective routing agent present on each network node of the plurality of network nodes;

generate a prefix tree based on the respective routing and link information received from the respective routing agent, wherein the prefix tree stores prefixes along with respective prefix information;

determine for each prefix in the prefix tree, a respective routing decision for each network node in the plurality of network nodes; and

distribute the respective routing decision to each network node in the plurality of network nodes in the SD-WAN overlay.

9. The controller of claim 8 , wherein the source network node includes a network node that presented the prefix to the controller.

10. The controller of claim 9 , wherein the cost associated with the prefix from the source network node is modified by a user.

11. The controller of claim 8 , wherein each network node in the plurality of network nodes represents an Internet Protocol Security (IPSec) tunnel endpoint.

12. The controller of claim 8 , wherein the memory includes instructions to store the respective routing and link information in a route database on the controller.

13. The controller of claim 8 , wherein at least one of the plurality of network nodes is compliant with OpenFlow standard.

14. A non-transitory machine-readable storage medium comprising instructions, the instructions executable by a processor to:

receive, by a controller in a software-defined wide area network (SD-WAN) overlay comprising a plurality of network nodes, respective routing and link information from a respective routing agent present on each network node of the plurality of network nodes;

generate, by the controller, a prefix tree based on the respective routing and link information received from the respective routing agent, wherein the prefix tree stores prefixes along with respective prefix information, wherein the respective prefix information includes information related to a source network node of a given prefix, and a cost associated with the given prefix from the source network node;

determine, by the controller, for each prefix in the prefix tree, a respective routing decision for each network node in the plurality of network nodes; and

distribute, by the controller, the respective routing decision to each network node in the plurality of network nodes in the SD-WAN overlay.

15. The storage medium of claim 14 , further comprising instructions to:

apply, by the controller, a priority to a network node in the plurality of network nodes.

16. The storage medium of claim 14 , further comprising instructions to:

update, by the controller, a status of a prefix in the prefix tree to one of an active status and an inactive status.

17. The storage medium of claim 14 , further comprising instructions to:

update, by the controller, a link between two network nodes in the plurality of network nodes to one of an active status and an inactive status for a specific time period.

18. The storage medium of claim 14 , further comprising instructions to:

update, by the controller, a link between two network nodes in the plurality of network nodes to one of an active status and an inactive status for a specific prefix in the prefix tree.

19. The storage medium of claim 14 , further comprising instructions to:

update, by the controller, a link between two network nodes in the plurality of network nodes to one of an active status and an inactive status for a specific prefix in the prefix tree, for a specific time period.

20. The storage medium of claim 14 , further comprising instructions to:

modify, by the controller, a link cost between two network nodes in the plurality of network nodes for a specific time period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2019
From: RAJ, ANIL; AYANUR, KESHAVA
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 048976/0813 →
Continuity (1)
Related Publication 20190334813A1 · Oct 31, 2019
Cited By (33)
US 12,218,800 US 12,218,845 US 12,237,990 US 12,250,114 US 12,261,777 US 12,267,364 US 12,316,524 US 12,335,131 US 12,355,655 US 12,368,676 US 12,375,403 US 12,401,544 US 12,425,332 US 12,425,335 US 12,425,347 US 12,425,395 US 12,483,968 US 12,489,672 US 12,506,678 US 12,507,120 US 12,507,148 US 12,507,153 US 12,526,183 US 12,549,465 US 12,563,438 US 12,568,039 US 12,587,468 US 12,603,827 US 12,603,848 US 12,632,330 US 12,652,217 US 12,659,719 US 12,719,782