IP Library › Granted Patent US 9,485,150
Granted Patent B2
US 9,485,150 · App. 14/212,284 · Granted Nov 1, 2016

Fast reroute for segment routing traffic

Inventors: Clarence Filsfils (Brussels, BE); Stefano B. Previdi (Rome, IT)
Assignee: Cisco Technology, Inc.
H04L41/12H04L45/04H04L45/12H04L45/46H04L45/50H04L45/507H04L45/74H04L45/745H04L45/54
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,485,150
App. No.
14/212,284
Granted
Nov 1, 2016
Kind
B2
Abstract

An apparatus and method are disclosed for fast reroute (FRR) for native segment routing (SR) traffic. In one embodiment, a node receives a packet that includes a segment routing (SR) segment identifier (ID) stack. The node determines what type of segment is designated as the active segment in the segment ID stack. Based, at least in part on the type of active segment, the node selects an update routine out of several possible update routines and performs the selected update routine. The update routine modifies the segment ID stack.

Claims (79)

1. A method comprising:

receiving a packet, wherein

the packet comprises a segment routing (SR) segment identifier (ID) stack;

determining an active segment type of a plurality of segment types, wherein

the active segment type is associated with an active segment in the SR segment ID stack, and

the active segment type is one of nodal segment or adjacency segment;

selecting an update routine based, at least in part, on the active segment type; and

performing the update routine, wherein

the performing the update routine comprises modifying the SR segment ID stack.

2. The method of claim 1 , further comprising:

detecting a reroute condition, wherein

the determining is performed in response to the detecting; and

forwarding a packet along a backup path specified by the SR segment ID stack.

3. The method of claim 1 , further comprising:

determining a next segment type associated with a next segment in the SR segment ID stack.

4. The method of claim 3 , further comprising:

determining a position within the SR segment ID stack, wherein

the position is based on the active segment type and the next segment type; and

pushing a protection list onto the SR segment ID stack at the position.

5. The method of claim 1 , wherein the modifying comprises:

pushing at least one segment identifier onto the SR segment ID stack.

6. The method of claim 5 , wherein

the at least one segment identifier comprises a protection list.

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

popping at least one segment identifier off of the SR segment ID stack.

8. The method of claim 1 , further comprising:

detecting that the SR segment ID stack comprises a plurality of adjacency segment identifiers followed by a nodal segment identifier; and

in response to the detecting, popping each of the adjacency segment identifiers of the plurality of adjacency segment identifiers off of the SR segment ID stack.

9. The method of claim 3 , further comprising:

detecting that the active segment type is nodal segment and the next segment type is nodal segment; and

in response to the detecting, popping the active segment identifier off of the SR segment ID stack.

10. A system comprising:

a first node configured to

receive a packet, wherein

the packet comprises a segment routing (SR) segment identifier (ID) stack;

determine an active segment type of a plurality of segment types, wherein

the active segment type is associated with an active segment in the SR segment ID stack, and

the active segment type is one of nodal segment or adjacency segment;

select an update routine based, at least in part, on the active segment type; and

perform the update routine, wherein

performing the update routine comprises modifying the SR segment ID stack.

11. The system of claim 10 , wherein the first node is further configured to:

detect a reroute condition, wherein

determining the active segment type is performed in response to detecting the reroute condition; and

forward a packet along a backup path specified by the SR segment ID stack.

12. The system of claim 10 , wherein the first node is further configured to:

determine a next segment type associated with a next segment in the SR segment ID stack.

13. The system of claim 12 , wherein the first node is further configured to:

determine a position within the SR segment ID stack, wherein

the position is based on the active segment type and the next segment type; and

push a protection list onto the SR segment ID stack at the position.

14. The system of claim 12 , wherein the first node is further configured to:

detect that the active segment type is nodal segment and the next segment type is nodal segment; and

in response to detecting the active segment type and the next segment type, pop the active segment identifier off of the SR segment ID stack.

15. The system of claim 10 , wherein the first node is further configured to:

detect that the SR segment ID stack comprises a plurality of adjacency segment identifiers followed by a nodal segment identifier; and

pop each of the adjacency segment identifiers of the plurality of adjacency segment identifiers off of the SR segment ID stack.

16. A non-transitory computer readable medium comprising executable instructions, wherein a method is implemented in response to executing the instructions, the method comprising:

receiving a packet, wherein

the packet comprises a segment routing (SR) segment identifier (ID) stack;

determining an active segment type of a plurality of segment types, wherein

the active segment type is associated with an active segment in the SR segment ID stack, and

the active segment type is one of nodal segment or adjacency segment;

selecting an update routine based, at least in part, on the active segment type; and

performing the update routine, wherein

the performing the update routine comprises modifying the SR segment ID stack.

17. The non-transitory computer readable medium of claim 16 wherein the method further comprises:

detecting a reroute condition, wherein

the determining is performed in response to the detecting; and

forwarding a packet along a backup path specified by the SR segment ID stack.

18. The non-transitory computer readable medium of claim 16 wherein the method further comprises:

determining a next segment type associated with a next segment in the SR segment ID stack.

19. The non-transitory computer readable medium of claim 18 wherein the method further comprises:

determining a position within the SR segment ID stack, wherein

the position is based on the active segment type and the next segment type; and

pushing a protection list onto the SR segment ID stack at the position.

20. The non-transitory computer readable medium of claim 16 wherein the method further comprises:

detecting that the active segment type is nodal segment and the next segment type is nodal segment; and

in response to the detecting, popping the active segment identifier off of the SR segment ID stack.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF STEFANO B. PREVIDI ON THE NOTICE OF RECORDATION SHOULD BE 03/19/2014. PREVIOUSLY RECORDED ON REEL 032506 FRAME 0121. ASSIGNOR(S) HEREBY CONFIRMS THE THE EXECUTION DATE OF STEFANO B. PREVIDI IS 03/19/2014.. Recorded Apr 3, 2014
From: FILSFILS, CLARENCE; PREVIDI, STEFANO B.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 032600/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2014
From: FILSFILS, CLARENCE; PREVIDI, STEFANO B.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 032506/0121 →
Continuity (2)
Provisional Application 61791242 · Mar 15, 2013
Related Publication 20140269727A1 · Sep 18, 2014