IP Library Granted Patent US 9,906,378
Granted Patent B2
US 9,906,378 · App. 14/813,268 · Granted Feb 27, 2018

Capability aware routing

Inventors: Alfred C. Lindem, III (Cary, NC); Peter Psenak (Bratislava, SK); Ijsbrand Wijnands (Leuven, BE)
Assignee: Cisco Technology, Inc.
H04L12/4633H04L45/02H04L45/127
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,906,378
App. No.
14/813,268
Granted
Feb 27, 2018
Kind
B2
Abstract

Various systems and methods for bypassing one or more non-capable nodes. For example, one method involves a capable node determining that an adjacent node is non-capable, where capable nodes are configured to implement a data plane capability and non-capable nodes are not. The method then involves identifying a downstream node that is capable. The downstream node is on a shortest path. The method also involves generating information that identifies a tunnel to the downstream node.

Claims (92)

1. A method comprising:

determining that an adjacent node is non-capable, wherein

the determining is performed by a capable node,

the adjacent node is adjacent to the capable node,

the adjacent node is non-capable by virtue of not being configured to implement a data plane capability,

the capable node is capable by virtue of being configured to implement the data plane capability,

the determining comprises

recovering capability information by parsing information received from the adjacent node in a routing update message, and

the capability information indicates whether the adjacent node is capable or non-capable;

identifying a capable downstream node, wherein

the identifying is performed by the capable node,

the capable downstream node is configured to implement the data plane capability, and

the capable downstream node is on a shortest path from the capable node to the capable downstream node; and

generating information identifying a tunnel having a tail at the capable downstream node, wherein

the generating is performed by the capable node.

2. The method of claim 1 , wherein the tunnel comprises at least one of:

a GRE tunnel;

a TE tunnel;

an MPLS LSP; or

an IP tunnel.

3. The method of claim 1 , further comprising:

generating the tunnel in response to the identifying, wherein

the tunnel begins at the capable node and ends at the capable downstream node.

4. The method of claim 1 , further comprising:

updating routing information to include the information.

5. The method of claim 1 , further comprising:

updating a tunnel prototype to include information identifying the adjacent node.

6. The method of claim 1 , further comprising:

including the information in a list of tunnels.

7. The method of claim 6 , further comprising:

detecting a configuration change, wherein

the configuration change comprises at least one of a topology change or a node configuration change; and

updating the list of tunnels in response to the detecting.

8. The method of claim 7 , wherein

the updating comprises removing information identifying a first tunnel from the list of tunnels, and

the removing comprises determining whether the first tunnel has exceeded an age threshold.

9. The method of claim 1 , wherein

the identifying comprises performing a shortest path first (SPF) calculation.

10. The method of claim 1 , wherein the data plane capability comprises bit-indexed explicit replication (BIER).

11. The method of claim 1 , wherein the routing update message is a link state advertisement.

12. The method of claim 1 , wherein

each node between the capable node and the capable downstream node on the shortest path is non-capable.

13. A network device comprising:

one or more network interfaces;

a processor configured to implement a data plane capability; and

a computer-readable storage medium coupled to the processor, the computer-readable storage medium storing instructions executable by the processor to implement a method comprising

determining that an adjacent network device is non-capable, wherein the network device is a capable node,

the adjacent network device is adjacent to the network device,

the adjacent network device is a non-capable node,

the adjacent network device is non-capable by virtue of not being configured to implement a data plane capability,

the network device is capable by virtue of being configured to implement the data plane capability,

the determining comprises

recovering capability information by parsing information received from the adjacent network device in a routing update message, and

the capability information indicates whether the adjacent network device is capable or non-capable,

identifying a capable downstream network device, wherein the identifying is performed by the network device,

the capable downstream network device is configured to implement the data plane capability, and

the capable downstream network device is on a shortest path from the network device to the capable downstream network device,

generating information identifying a tunnel having a tail at the capable downstream network device.

14. The network device of claim 13 , further comprising:

generating the tunnel in response to the identifying, wherein

the tunnel begins at the network device and ends at the capable downstream network device.

15. The network device of claim 13 , further comprising:

updating routing information to include the information; and

updating a tunnel prototype to include information identifying the adjacent network device.

16. The network device of claim 13 , further comprising:

detecting a configuration change, wherein

the configuration change comprises at least one of a topology change or a node configuration change; and

updating a list of tunnels in response to the detecting.

17. The network device of claim 16 , wherein

the updating comprises removing a first tunnel from the list of tunnels, and

the removing comprises determining whether the first tunnel has exceeded an age threshold.

18. The network device of claim 13 , wherein

the identifying comprises performing a shortest path first (SPF) calculation.

19. The network device of claim 13 , wherein the routing update message is a link state advertisement.

20. The network device of claim 13 , wherein

each network device between the network device and the capable downstream network device on the shortest path is non-capable.

21. A computer program product comprising:

a plurality of instructions, comprising

a first set of instructions, executable by a processor of a network device, configured to determine that an adjacent network device is non-capable, wherein

the network device is a capable node,

the adjacent network device is adjacent to the network device,

the adjacent network device is a non-capable node,

the adjacent network device is non-capable by virtue of not being configured to implement a data plane capability,

the network device is capable by virtue of being configured to implement the data plane capability,

the first set of instructions comprises

a first subset of instructions, executable by the processor of the network device, configured to recover capability information by parsing information received from the adjacent network device in a routing update message, and

the capability information indicates whether the adjacent network device is capable or non-capable,

a second set of instructions, executable on the processor of the network device, configured to identify a capable downstream network device, wherein

the capable downstream network device is configured to implement the data plane capability, and

the capable downstream network device is on a shortest path from the network device to the capable downstream network device, and

a third set of instructions, executable on the processor of the network device, configured to generate information identifying a tunnel having a tail at the capable downstream network device; and

a computer-readable storage medium, wherein the instructions are encoded in the computer-readable storage medium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2015
From: LINDEM, ALFRED C., III; PSENAK, PETER; WIJNANDS, IJSBRAND
To: CISCO TECHNOLOGY, INC.
Reel/Frame 036215/0714 →
Continuity (2)
Provisional Application 62108329 · Jan 27, 2015
Related Publication 20160218961A1 · Jul 28, 2016