IP Library Granted Patent US 11,088,935
Granted Patent B2
US 11,088,935 · App. 16/727,968 · Granted Aug 10, 2021

Tunnel-based routing calculation with address exclusion in software defined networking (SDN) environments

Inventors: Ankur Dubey (Palo Alto, CA); Sami Boutros (Palo Alto, CA); Abhishek Goliya (Pune, IN)
Assignee: VMWARE, INC.
H04L45/02H04L12/4633H04L41/0806H04L45/748H04L61/2592
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 11,088,935
App. No.
16/727,968
Granted
Aug 10, 2021
Kind
B2
Abstract

Example methods and network devices for tunnel-based routing calculation. One example method may comprise establishing a tunnel between a first tunnel interface and a second tunnel interface; establishing a first session for routing information exchange between a first tunnel endpoint and an underlay network device; establishing a second session for routing information exchange between the first tunnel interface and the second tunnel interface over the tunnel. In response to receiving first routing information over the first session, the underlay network device may be configured to be a next hop to reach the second tunnel endpoint by updating a routing table to include a first entry. In response to receiving second routing information from the second tunnel interface over the second session, the underlay network device may be retained as the next hop based on an excluded address specified in the second routing information.

Claims (56)

1. A method for a first network device to perform tunnel-based routing calculation in a software-defined networking (SDN) environment that includes the first network device and a second network device, wherein the method comprises:

establishing a tunnel between a first tunnel interface configured on the first network device and a second tunnel interface configured on the second network device, wherein a packet for forwarding over the tunnel is encapsulated with an outer header that is addressed from a first tunnel endpoint configured on the first network device to a second tunnel endpoint configured on the second network device;

establishing a first session for routing information exchange between the first tunnel endpoint and an underlay network device that connects the first network device with the second network device;

establishing a second session for routing information exchange between the first tunnel interface and the second tunnel interface over the tunnel;

in response to receiving first routing information from the underlay network device over the first session, configuring the underlay network device to be a next hop to reach the second tunnel endpoint; and

in response to receiving second routing information from the second tunnel interface over the second session, retaining the underlay network device as the next hop based on an excluded address specified in the second routing information, wherein the excluded address is associated with the second tunnel endpoint.

2. The method of claim 1 , wherein configuring the underlay network device to be the next hop comprises:

based on the first routing information, updating a routing table to include a first entry specifying that a first prefix matching a second tunnel endpoint address is reachable via the underlay network device, wherein the second tunnel endpoint address is assigned to the second tunnel endpoint.

3. The method of claim 2 , wherein retaining the underlay network device as the next hop comprises:

based on the second routing information, updating the routing table to include a second entry specifying that the excluded address associated with the second tunnel endpoint is reachable via the underlay network device, wherein the second entry is preferred over the first path entry according to a longer matching prefix rule.

4. The method of claim 3 , wherein retaining the underlay network device as the next hop comprises:

based on the first routing information, updating the routing table to include the second entry specifying the second prefix in the form of a loopback interface address associated with the second tunnel endpoint.

5. The method of claim 3 , wherein retaining the underlay network device as the next hop comprises:

prior to updating the routing table to include the second entry, determining that (a) the second routing information is received over the second session and (b) the excluded address falls within the first prefix matching the second tunnel endpoint address in the first entry.

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

configuring, for the second session over the tunnel, an outbound route advertisement filter to filter an outbound advertisement specifying that the first tunnel endpoint is reachable via the first tunnel interface.

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

configuring, for the second session over the tunnel, an inbound route advertisement filter to filter an inbound route advertisement specifying that the second tunnel endpoint is reachable via the second tunnel interface.

8. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a first network device, cause the processor to perform a method of tunnel-based routing calculation, wherein the method comprises:

establishing a tunnel between a first tunnel interface configured on the first network device and a second tunnel interface configured on the second network device, wherein a packet for forwarding over the tunnel is encapsulated with an outer header that is addressed from a first tunnel endpoint configured on the first network device to a second tunnel endpoint configured on the second network device;

establishing a first session for routing information exchange between the first tunnel endpoint and an underlay network device that connects the first network device with the second network device;

establishing a second session for routing information exchange between the first tunnel interface and the second tunnel interface over the tunnel;

in response to receiving first routing information from the underlay network device over the first session, configuring the underlay network device to be a next hop to reach the second tunnel endpoint; and

in response to receiving second routing information from the second tunnel interface over the second session, retaining the underlay network device as the next hop based on an excluded address specified in the second routing information, wherein the excluded address is associated with the second tunnel endpoint.

9. The non-transitory computer-readable storage medium of claim 8 , wherein configuring the underlay network device to be the next hop comprises:

based on the first routing information, updating a routing table to include a first entry specifying that a first prefix matching a second tunnel endpoint address is reachable via the underlay network device, wherein the second tunnel endpoint address is assigned to the second tunnel endpoint.

10. The non-transitory computer-readable storage medium of claim 9 , wherein retaining the underlay network device as the next hop comprises:

based on the second routing information, updating the routing table to include a second entry specifying that the excluded address associated with the second tunnel endpoint is reachable via the underlay network device, wherein the second entry is preferred over the first path entry according to a longer matching prefix rule.

11. The non-transitory computer-readable storage medium of claim 10 , wherein retaining the underlay network device as the next hop comprises:

based on the first routing information, updating the routing table to include the second entry specifying the second prefix in the form of a loopback interface address associated with the second tunnel endpoint.

12. The non-transitory computer-readable storage medium of claim 10 , wherein retaining the underlay network device as the next hop comprises:

prior to updating the routing table to include the second entry, determining that (a) the second routing information is received over the second session and (b) the excluded address falls within the first prefix matching the second tunnel endpoint address in the first entry.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the method further comprises:

configuring, for the second session over the tunnel, an outbound route advertisement filter to filter an outbound advertisement specifying that the first tunnel endpoint is reachable via the first tunnel interface.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the method further comprises:

configuring, for the second session over the tunnel, an inbound route advertisement filter to filter an inbound route advertisement specifying that the second tunnel endpoint is reachable via the second tunnel interface.

15. A computer system, being a first network device, comprising:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to:

establish a tunnel between a first tunnel interface configured on the first network device and a second tunnel interface configured on the second network device, wherein a packet for forwarding over the tunnel is encapsulated with an outer header that is addressed from a first tunnel endpoint configured on the first network device to a second tunnel endpoint configured on the second network device;

establish a first session for routing information exchange between the first tunnel endpoint and an underlay network device that connects the first network device with the second network device;

establish a second session for routing information exchange between the first tunnel interface and the second tunnel interface over the tunnel;

in response to receiving first routing information from the underlay network device over the first session, configure the underlay network device to be a next hop to reach the second tunnel endpoint; and

in response to receiving second routing information from the second tunnel interface over the second session, retain the underlay network device as the next hop based on an excluded address specified in the second routing information, wherein the excluded address is associated with the second tunnel endpoint.

16. The computer system of claim 15 , wherein the instructions for configuring the underlay network device to be the next hop cause the processor to:

based on the first routing information, update a routing table to include a first entry specifying that a first prefix matching a second tunnel endpoint address is reachable via the underlay network device, wherein the second tunnel endpoint address is assigned to the second tunnel endpoint.

17. The computer system of claim 15 , wherein the instructions for retaining the underlay network device as the next hop cause the processor to:

based on the second routing information, update the routing table to include a second entry specifying that the excluded address associated with the second tunnel endpoint is reachable via the underlay network device, wherein the second entry is preferred over the first path entry according to a longer matching prefix rule.

18. The computer system of claim 17 , wherein the instructions for retaining the underlay network device as the next hop cause the processor to:

based on the first routing information, update the routing table to include the second entry specifying the second prefix in the form of a loopback interface address associated with the second tunnel endpoint.

19. The computer system of claim 17 , wherein the instructions for retaining the underlay network device as the next hop cause the processor to:

prior to updating the routing table to include the second entry, determining that (a) the second routing information is received over the second session and (b) the excluded address falls within the first prefix matching the second tunnel endpoint address in the first entry.

20. The computer system of claim 15 , wherein the instructions further cause the processor to:

configure, for the second session over the tunnel, an outbound route advertisement filter to filter an outbound advertisement specifying that the first tunnel endpoint is reachable via the first tunnel interface.

21. The computer system of claim 15 , wherein the instructions further cause the processor to:

configure, for the second session over the tunnel, an inbound route advertisement filter to filter an inbound route advertisement specifying that the second tunnel endpoint is reachable via the second tunnel interface.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: DUBEY, ANKUR; BOUTROS, SAMI; GOLIYA, ABHISHEK
To: VMWARE, INC.
Reel/Frame 051488/0779 →