IP Library › Granted Patent US 12,335,140
Granted Patent B2
US 12,335,140 · App. 18/305,468 · Granted Jun 17, 2025

Mechanisms for packet path tracing and per-hop delay measurement in segment routing with multiprotocol label switching (SR-MPLS) networks

Inventors: Clarence Filsfils (Brussels, BE); Ahmed Mohamed Ahmed Abdelsalam (L'Aquila, IT); Rakesh Gandhi (Stittsville, CA); Pablo Camarillo Garvia (Madrid, ES)
Assignee: Cisco Technology, Inc.
H04L45/507H04L45/20H04L45/26
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 12,335,140
App. No.
18/305,468
Granted
Jun 17, 2025
Kind
B2
Abstract

A network node receives a data packet. In response to receiving the data packet, the network node performs a lookup on a label stack of the data packet to determine a next hop for the data packet. The network node scans the label stack to identify a Structured Entropy Label (SEL). The SEL includes a Path Tracing Indicator (PTI). The network node computes Midpoint Compressed Data (MCD) as a result of the PTI being set to a pre-defined value. The network node records the MCD in a MCD stack of the data packet by shifting the MCD stack and stamping the MCD on top of the MCD stack. The network node transmits the data packet to the next hop with the recorded MCD stack. The network sink node encapsulates the received data packet to generate an encapsulated data packet and transmits the data packet.

Claims (46)

1. A computer-implemented method comprising:

receiving a data packet;

performing a Multiprotocol Label Switching (MPLS) lookup on a label stack of the data packet to determine a next hop for the data packet;

scanning the label stack to identify a label, wherein the label includes a field comprising an indicator;

computing data, wherein the data is computed as a result of the indicator in the label stack being set to a pre-defined value;

recording the data in a stack of the data packet; and

transmitting the data packet to the next hop.

2. The computer-implemented method of claim 1 , wherein the data packet includes instructions for computing and recording midpoint compressed data (MCD) in the data packet.

3. The computer-implemented method of claim 1 , wherein an entropy label control (ELC) field of a structured entropy label (SEL) in the label stack is used to determine a path tracing action for the data packet.

4. The computer-implemented method of claim 1 , wherein the label stack of the data packet includes a timestamp, encapsulate, and forward (TEF) label that causes a sink node receiving the data packet to:

encapsulate the data packet to generate an encapsulated data packet; and

send the encapsulated data packet to a collector.

5. The computer-implemented method of claim 1 , wherein a network programming label is used to determine a path tracing action for the data packet, and wherein the network programming label includes one or more fields that are used to determine the path tracing action.

6. The computer-implemented method of claim 1 , wherein an MCD is computed as a result of a path tracing indicator (PTI) in the label stack being set to a pre-defined value and the PTI is set at a source node to trigger a path tracing action at midpoint nodes.

7. The computer-implemented method of claim 1 , wherein the label stack of the data packet further defines a channel type, wherein the channel type indicates a format of a message that follows a generic associated channel (G-ACH) in the label stack, and wherein the format is an MCD stack and a source node Type-Length-Value (TLV).

8. A system comprising:

one or more processors; and

memory storing thereon instructions that, as a result of being executed by the one or more processors, cause the system to:

receive a data packet;

perform a Multiprotocol Label Switching (MPLS) lookup on a label stack of the data packet to determine a next hop for the data packet;

scan the label stack to identify a label, wherein the label includes a field comprising an indicator;

compute data, wherein the data is computed as a result of the indicator in the label stack being set to a pre-defined value;

record the data in a stack of the data packet; and

transmit the data packet to the next hop.

9. The system of claim 8 , wherein the data packet includes instructions for computing and recording midpoint compressed data (MCD) in the data packet.

10. The system of claim 8 , wherein an entropy label control (ELC) field of a structured entropy label (SEL) in the label stack is used to determine a path tracing action for the data packet.

11. The system of claim 8 , wherein the label stack of the data packet includes a timestamp, encapsulate, and forward (TEF) label that causes a sink node receiving the data packet to:

encapsulate the data packet to generate an encapsulated data packet; and

send the encapsulated data packet to a collector.

12. The system of claim 8 , wherein a network programming label is used to determine a path tracing action for the data packet, and wherein the network programming label includes one or more fields that are used to determine the path tracing action.

13. The system of claim 8 , wherein an MCD is computed as a result of a path tracing indicator (PTI) in the label stack being set to a pre-defined value and the PTI is set at a source node to trigger a path tracing action at midpoint nodes.

14. The system of claim 8 , wherein the label stack of the data packet further defines a channel type, wherein the channel type indicates a format of a message that follows a generic associated channel (G-ACH) in the label stack, and wherein the format is an MCD stack and a source node Type-Length-Value (TLV).

15. A non-transitory, computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to:

receive a data packet;

perform a Multiprotocol Label Switching (MPLS) lookup on a label stack of the data packet to determine a next hop for the data packet;

scan the label stack to identify a label, wherein the label includes a field comprising an indicator;

compute data, wherein the data is computed as a result of the indicator in the label stack being set to a pre-defined value;

record the data in a stack of the data packet; and

transmit the data packet to the next hop.

16. The non-transitory, computer-readable storage medium of claim 15 , wherein the data packet includes instructions for computing and recording midpoint compressed data (MCD) in the data packet.

17. The non-transitory, computer-readable storage medium of claim 15 , wherein an entropy label control (ELC) field of a structured entropy label (SEL) in the label stack is used to determine a path tracing action for the data packet.

18. The non-transitory, computer-readable storage medium of claim 15 , wherein the label stack of the data packet includes a timestamp, encapsulate, and forward (TEF) label that causes a sink node receiving the data packet to:

encapsulate the data packet to generate an encapsulated data packet; and

send the encapsulated data packet to a collector.

19. The non-transitory, computer-readable storage medium of claim 15 , wherein a network programming label is used to determine a path tracing action for the data packet, and wherein the network programming label includes one or more fields that are used to determine the path tracing action.

20. The non-transitory, computer-readable storage medium of claim 15 , wherein an MCD is computed as a result of a path tracing indicator (PTI) in the label stack being set to a pre-defined value and the PTI is set at a source node to trigger a path tracing action at midpoint nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2023
From: FILSFILS, CLARENCE; ABDELSALAM, AHMED MOHAMED AHMED; GANDHI, RAKESH; GARVIA, PABLO CAMARILLO
To: CISCO TECHNOLOGY, INC.
Reel/Frame 063413/0191 →
Continuity (3)
Continuation 17524553 · Nov 11, 2021
Provisional Application 63172389 · Apr 8, 2021
Related Publication 20230254246A1 · Aug 10, 2023
References Cited (15)
US 20050073961A1 · Paik et al. · 2005 [cited by applicant]
US 20060262735A1 · Guichard et al. · 2006 [cited by applicant]
US 20200204469A1 · Filsfils · 2020 [cited by examiner]
US 20200252316A1 · Filsfils et al. · 2020 [cited by applicant]
US 20210044520A1 · Xu · 2021 [cited by examiner]
KR 20050006442 · 2003 [cited by applicant]
WO 2019239171A1 · 2019 [cited by applicant]
“In-band Network Telemetry (INT) Dataplane Specification,” Feb. 14, 2020, pp. 1-36. [cited by applicant]
Basat et al., “PINT: Probalistic In-band Network Telemetry,” SIGCOMM '20, Aug. 10-14, 2020, pp. 662-680. [cited by applicant]
Brockners et al., “Data Fields for In-situ OAM,” Mar. 8, 2020, pp. 1-43. [cited by applicant]
Lapukhov et al., “Data-plan probe for in-band telemetry collection,” Jun. 10, 2016, pp. 1-14. [cited by applicant]
Lapukhov et al., “Move Fast, Unbreak Things! Network debugging at scale,” pp. 1-46. [cited by applicant]
Filsfils et al., “Stateless and Scalable Network Slice Identification for SRv6,” Jan. 17, 2020, pp. 1-5. [cited by applicant]
Brockners et al., “Data Fields for In-situ OAM,” Feb. 21, 2021, pp. 1-45. [cited by applicant]
Gandhi et al., “Segment Routing with MPLS Data Plane Encapsulation for In-situ OAM Data,” Aug. 22, 2019, pp. 1-10. [cited by applicant]