IP Library Granted Patent US 10,148,560
Granted Patent B2
US 10,148,560 · App. 15/222,643 · Granted Dec 4, 2018

Enhanced error signaling and error handling in a network environment with segment routing

Inventors: Nagendra Kumar Nainar (Morrisville, NC); Carlos M. Pignataro (Raleigh, NC); Stefano B. Previdi (Rome, IT)
Assignee: Cisco Technology, Inc.
H04L45/28H04L45/22H04L45/52H04L45/72H04L45/74
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,148,560
App. No.
15/222,643
Granted
Dec 4, 2018
Kind
B2
Abstract

Embodiments include generating an error message based on an error associated with a b packet, adding to the error message an address of a node in a segment routing domain of a network to serve as a destination address of the error message, and adding a new segment routing header to the error message. Embodiments also include rewriting the packet where the rewriting includes replacing a destination address in the packet with a final destination address associated with the packet. Embodiments further include adding the rewritten packet to the error message, and forwarding the error message to the destination address of the error message. In specific embodiments, the rewriting the packet includes removing a segment routing header of the packet. More specific embodiments include deriving the new segment routing header from information in the packet.

Claims (55)

1. A method, comprising:

generating an error message based on an error associated with a packet originated from a source address;

adding to the error message an address of a node in a segment routing domain of a network to serve as a destination address of the error message, wherein the destination address of the error message is different from the source address of the packet;

adding a new segment routing header to the error message;

rewriting the packet, the rewriting including replacing a destination address in the packet with a final destination address associated with the packet;

adding the rewritten packet to the error message; and

forwarding the error message to the destination address of the error message.

2. The method of claim 1 , further comprising:

deriving the new segment routing header from information in the packet.

3. The method of claim 1 , further comprising:

obtaining a copy of the source address of the packet;

adding the copy of the source address as a segment in a segment list of the new segment router header; and

indicating the segment is the last segment remaining in the segment list to be processed.

4. The method of claim 3 , further comprising:

setting a segment left field of the new segment routing header to a value of one to indicate the segment is the last segment remaining in the segment list to be processed.

5. The method of claim 3 , wherein the segment list includes one or more segments representing one or more nodes in a path along which the error message is to be routed.

6. The method of claim 1 , wherein rewriting the packet includes removing a segment routing header of the packet.

7. The method of claim 1 , wherein a segment list of a segment routing header of the packet includes one or more segments representing one or more nodes of the network, the method further comprising:

determining the final destination address by identifying the last segment in the segment list based on a routing order of the one or more segments.

8. The method of claim 1 , wherein the node in the segment routing domain is an egress node of a Border Gateway Control (BGP) free core of the segment routing domain.

9. The method of claim 1 , wherein the node in the segment routing domain is an egress node of the segment routing domain.

10. The method of claim 9 , further comprising:

determining the address of the node to add to the error message by identifying an address of the egress node in a policy list of a segment routing header of the packet.

11. The method of claim 1 , further comprising:

determining the address of the node to add to the error message by identifying a next-to-last segment in a segment list of a segment routing header of the packet.

12. The method of claim 1 , wherein the node in the segment routing domain is an ingress node of the segment routing domain.

13. At least one non-transitory machine readable storage medium including code for execution that, when executed by at least one processor, causes the at least one processor to:

generate an error message based on an error associated with a packet originated from a source address;

add to the error message an address of a node in a segment routing domain of a network to serve as a destination address of the error message, wherein the destination address of the error message is different from the source address of the packet;

add a new segment routing header to the error message;

rewrite the packet, the rewriting including replacing a destination address in the packet with a final destination address associated with the packet;

add the rewritten packet to the error message; and

forward the error message to the destination address of the error message.

14. The at least one non-transitory machine readable storage medium of claim 13 , wherein the code for execution, when executed by the at least one processor, causes the at least one processor to:

obtain a copy of the source address of the packet;

add the copy of the source address as a segment in a segment list of the new segment router header; and

indicate the segment is the last segment remaining in the segment list to be processed.

15. The at least one non-transitory machine-readable storage medium of claim 13 , wherein to rewrite the packet includes removing a segment routing header of the packet.

16. The at least one non-transitory machine readable storage medium of claim 13 , wherein a segment list of a segment routing header of the packet includes one or more segments representing one or more nodes of the network, wherein the code for execution, when executed by the at least one processor, causes the at least one processor to:

determine the final destination address by identifying the last segment in the segment list based on a routing order of the one or more segments.

17. An apparatus, comprising:

at least one memory element; and

logic implemented at least partly in hardware, wherein the logic when executed is to:

generate an error message based on an error associated with a packet originated from a source address;

add to the error message an address of a node in a segment routing domain of a network to serve as a destination address of the error message, wherein the destination address of the error message is different from the source address of the packet;

add a new segment routing header to the error message;

rewrite the packet, the rewriting including replacing a destination address in the packet with a final destination address associated with the packet;

add the rewritten packet to the error message; and

forward the error message to the destination address of the error message.

18. The apparatus of claim 17 , wherein the node in the segment routing domain is an egress node of the segment routing domain.

19. The apparatus of claim 18 , wherein the logic when executed is to:

determine the address of the node to add to the error message by identifying an address of the egress node in a policy list of a segment routing header of the packet.

20. The apparatus of claim 17 , wherein the logic when executed is to:

determining the address of the node to add to the error message by identifying a next-to-last segment in a segment list of a segment routing header of the packet.

21. The apparatus of claim 17 , wherein the node in the segment routing domain is an ingress node of the segment routing domain.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2016
From: NAINAR, NAGENDRA KUMAR; PIGNATARO, CARLOS M.; PREVIDI, STEFANO B.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 039285/0393 →
Continuity (1)
Related Publication 20180034727A1 · Feb 1, 2018