IP Library › Granted Patent US 10,979,340
Granted Patent B2
US 10,979,340 · App. 16/505,377 · Granted Apr 13, 2021

Link state addition and deletion based on reception of a single message in link state vector routing

Inventors: Jakob Heitz (Santa Clara, CA); Alfred C. Lindem, III (Cary, NC)
Assignee: Cisco Technology, Inc.
H04L45/021H04L45/123
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,979,340
App. No.
16/505,377
Granted
Apr 13, 2021
Kind
B2
Abstract

Techniques for updating a routing table based on a single message are described. One technique includes receiving at a first network device a node message from a second network device. The node message includes a sequence number and a list of link state(s) originated by the second network device. The first network device determines whether to withdraw one or more link states originated by the second network device and maintained in a routing table of the first network device based on the sequence number and the list of the link state(s) within the node message. The routing table is updated based on the determinations.

Claims (46)

1. A computer-implemented method, comprising:

receiving, at a first network device, a first node message from a second network device, the first node message comprising (i) a first sequence number and (ii) a first list of a first set of link states originated by the second network device;

identifying, by the first network device, a second set of link states originated by the second network device that are maintained in a routing table of the first network device;

determining, by the first network device, for each link state of the second set of link states maintained in the routing table, whether to withdraw the link state of the second set of link states in the routing table based at least in part on the first sequence number and the first list within the first node message; and

updating, by the first network device, the routing table based on the determinations.

2. The computer-implemented method of claim 1 , wherein determining, for each link state of the second set of link states maintained in the routing table, whether to withdraw the link state of the second set of link states in the routing table comprises:

determining whether the first list has a younger age than a second list, stored at the first network device, of a third set of link states originated by the second network device; and

determining whether the first list includes the link state of the second set of link states.

3. The computer-implemented method of claim 2 , wherein:

the determination is to withdraw the link state of the second set of link states in the routing table if (i) the first list has a younger age than the second list and (ii) the link state of the second set of link states is absent from the first list; and

updating the routing table comprises withdrawing the link state of the second set of link states in the routing table.

4. The computer-implemented method of claim 2 , wherein the determination is to refrain from withdrawing the link state of the second set of link states in the routing table if (i) the first list has an older or same age as the second list or (ii) the first list includes the link state of the second set of link states, the computer-implemented method further comprising refraining from withdrawing the link state of the second set of link states in the routing table after the determination.

5. The computer-implemented method of claim 2 , wherein the first list has a younger age than the second list if the first sequence number is greater than a second sequence number associated with the second list.

6. The computer-implemented method of claim 5 , further comprising receiving, by the first network device, a second node message from the second network device, wherein the second node message comprises (i) the second list of the third set of link states originated by the second network device and (ii) the second sequence number.

7. The computer-implemented method of claim 2 , wherein the first list includes the link state of the second set of link states if a link identifier (ID) of the link state of the second set of link states is present within the first list.

8. The computer-implemented method of claim 1 , wherein:

the first node message comprises a Border Gateway Protocol (BGP) Link-State (LS) Network Layer Reachability Information (NLRI); and

a NLRI Type field of the BGP LS NLRI indicates a Node NLRI.

9. The computer-implemented method of claim 1 , wherein the first node message comprises (i) a first node attribute Type-Length-Value (TLV) that includes the first sequence number and (ii) a second node attribute TLV that includes the first list of the first set of link states originated by the second network device.

10. A first network device, comprising:

a processor;

a routing table; and

a memory containing a program that, when executed by the processor, performs an operation comprising:

receiving a first node message from a second network device, the first node message comprising (i) a first sequence number and (ii) a first list of a first set of link states originated by the second network device, wherein the routing table comprises a second set of link states originated by the second network device;

determining, for each link state of the second set of link states in the routing table, whether to withdraw the link state of the second set of link states in the routing table based at least in part on the first sequence number and the first list within the first node message; and

updating the routing table based on the determinations.

11. The first network device of claim 10 , wherein determining, for each link state of the second set of link states in the routing table, whether to withdraw the link state of the second set of link states in the routing table comprises:

determining whether the first list has a lower age than a second list, stored at the first network device, of a third set of link states originated by the second network device; and

determining whether the first list includes the link state of the second set of link states.

12. The first network device of claim 11 , wherein:

the determination is to withdraw the link state of the second set of link states in the routing table if (i) the first list has a younger age than the second list and (ii) the link state of the second set of link states is absent from the first list; and

updating the routing table comprises withdrawing the link state of the second set of link states in the routing table.

13. The first network device of claim 11 , wherein the determination is to refrain from withdrawing the link state of the second set of link states in the routing table if (i) the first list has an older or same age as the second list or (ii) the first list includes the link state of the second set of link states, the operation further comprising refraining from withdrawing the link state of the second set of link states in the routing table after the determination.

14. A computer-implemented method, comprising:

receiving, at a first network device, a link message from a second network device, the link message comprising (i) an indication of a first link state originated by the second network device and (ii) an indication of a first sequence number associated with a first list of a first set of link states, including the first link state, originated by the second network device;

determining, by the first network device, that the first link state is absent from a second list of a second set of link states originated by the second network device, wherein the second list is stored at the first network device;

determining, by the first network device, that the first list has a younger age than the second list; and

after determining that (i) the first link state is absent from the second list and (ii) the first list has a younger age than the second list, updating a routing table at the first network device based on the link message.

15. The computer-implemented method of claim 14 , wherein determining that the first list has a younger age than the second list comprises determining that the first sequence number associated with the first list is greater than a second sequence number associated with the second list.

16. The computer-implemented method of claim 15 , further comprising receiving, by the first network device, a node message from the second network device, wherein the node message comprises (i) the second list of the second set of link states originated by the first network device and (ii) the second sequence number.

17. The computer-implemented method of claim 14 , wherein the routing table is updated prior to receiving a node message from the second network device that comprises the first list.

18. The computer-implemented method of claim 14 , wherein the link message comprises (i) a first link attribute Type-Length-Value (TLV) that includes the indication of the first link state and (ii) a second link attribute TLV that includes the indication of the first sequence number.

19. The computer-implemented method of claim 14 , wherein:

the link message comprises a Border Gateway Protocol (BGP) Link-State (LS) Network Layer Reachability Information (NLRI); and

a NLRI Type field of the BGP LS NLRI indicates a Link NLRI.

20. The computer-implemented method of claim 14 , wherein the indication of the first link state comprises a link identifier (ID) of the first link state and the link ID uniquely identifies the first link state among one or more second link states originated by the second network device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2019
From: HEITZ, JAKOB; LINDEM, ALFRED C., III
To: CISCO TECHNOLOGY, INC.
Reel/Frame 049692/0033 →
Continuity (1)
Related Publication 20210014148A1 · Jan 14, 2021