IP Library › Granted Patent US 12,301,470
Granted Patent B2
US 12,301,470 · App. 18/456,381 · Granted May 13, 2025

Packet tracing mechanism in a network leveraging SRv6

Inventors: Clarence Filsfils (Brussels, BE); Pablo Camarillo Garvia (Madrid, ES)
H04L47/35H04L43/106H04L45/02H04L45/74H04L69/22
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,301,470
App. No.
18/456,381
Granted
May 13, 2025
Kind
B2
Abstract

The present disclosure provides a packet tracing mechanism will be described that provides packet tracing information to a mobile network controller. In one aspect, a method includes receiving a data packet sent from a source node to a destination node; determining if the data packet is to be updated with packet tracing information; and upon determining that the data packet is to be updated, updating the packet tracing information of the data packet to include identification of the network device and an ingress timestamp of the data packet at the network device for a corresponding network controller to determining network routing policies.

Claims (47)

1. A network device comprising:

a plurality of network interfaces; and

one or more processors configured to:

receive an Internet Protocol version 6 (IPv6) packet sent from a source node to a destination node, wherein the IPV6 packet comprises segment routing information including a list of segment routing identifiers defining a path from the source node to the destination node,

wherein the IPV6 packet comprises a Type-Length-Value (TLV) field,

wherein the TLV field is fixed-length field having a predetermined number of bytes;

determine if the IPV6 packet is to be updated with packet tracing information;

upon determining that the IPV6 packet is to be updated, update the IPV6 packet to include, in the TLV field, the packet tracing information, the packet tracing information comprising:

an identifier associated with the network device, and

time stamp data associated with the IPV6 packet generated at the network device; and

forward the IPV 6 packet along the path defined in the segment list to the destination node.

2. The network device of claim 1 , wherein at least a portion of the TLV field of the IPv6 packet includes padding bits.

3. The network device of claim 1 , wherein at least a portion of the TLV field of the IPv6 packet is empty.

4. The network device of claim 3 , wherein the packet tracing information is added to an empty portion of the TLV field.

5. The network device of claim 1 , wherein the predetermined number of bytes is based on a number of hops in the path to the destination.

6. The network device of claim 1 , wherein the predetermined number of bytes is based on an assumed number of hops in the path to the destination.

7. The network device of claim 1 , wherein the time stamp data comprises an ingress time stamp corresponding to a time the IPV6 packet arrived at the network device.

8. The network device of claim 1 , wherein the time stamp data characterizes an amount of time the IPV6 packet remained at the network device prior to being forwarded.

9. The network device of claim 1 , wherein the processor is further configured to implement a time-synching protocol.

10. The network device of claim 1 , wherein the IPV6 packet carries user data.

11. The network device of claim 1 , wherein the IPV6 packet comprises a destination address,

wherein the segment routing information further comprises a segments left value identifying a next element in the list of segment routing identifiers, and

wherein the processor, to forward the IPV6 packet, is configured to:

update the destination address of the IPV6 packet to the node in the list of segment

identifiers corresponding to the segments left identifier; and

decrement the segments left value in the IPV6 packet.

12. A method comprising

receiving, at a network device, an Internet Protocol version 6 (IPv6) packet sent from a source node to a destination node, wherein the IPV 6 packet comprises segment routing information including a list of segment routing identifiers defining a path from the source node to the destination node, wherein the IPV 6 packet comprises a Type-Length-Value (TLV) field, wherein the TLV field is fixed-length field having a predetermined number of bytes;

determining if the IPV6 packet is to be updated with packet tracing information;

upon determining that the IPV6 packet is to be updated, updating the IPV6 packet to include, in the TLV field, the packet tracing information, the packet tracing information comprising:

an identifier associated with the network device, and

time stamp data associated with the IPV6 packet generated at the network device; and

forwarding the IPV6 packet along the path defined in the segment list to the destination node.

13. The method of claim 12 , wherein at least a portion of the TLV field of the IPV6 packet includes padding bits.

14. The method of claim 12 , wherein at least a portion of the TLV field of the IPV6 packet is empty.

15. The method of claim 14 , wherein the packet tracing information is added to an empty portion of the TLV field.

16. The method of claim 12 , wherein the predetermined number of bytes is based on a number of hops in the path to the destination.

17. The method of claim 12 , wherein the predetermined number of bytes is based on an assumed number of hops in the path to the destination.

18. The method of claim 12 , wherein the time stamp data comprises an ingress time stamp corresponding to a time the IPV6 packet arrived at the network device.

19. The method of claim 12 , wherein the time stamp data characterizes an amount of time the IPV6 packet remained at the network device prior to being forwarded.

20. The method of claim 12 , further comprising implementing, at the network device, a time-synching protocol.

21. The method of claim 12 , wherein the IPV6 packet carries user data.

22. The method of claim 12 , wherein the IPV6 packet comprises a destination address,

wherein the segment routing information further comprises a segments left value identifying a next element in the list of segment routing identifiers, and

wherein the forwarding the IPV6 packet comprises:

updating the destination address of the IPV6 packet to the node in the list of segment identifiers corresponding to the segments left identifier; and

decrementing the segments left value in the IPV6 packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2023
From: FILSFILS, CLARENCE; GARVIA, PABLO CAMARILLO
To: CISCO TECHNOLOGY, INC.
Reel/Frame 064710/0988 →
Continuity (4)
Continuation 18352921 · Jul 14, 2023
Continuation 17492532 · Oct 1, 2021
Continuation 16684006 · Nov 14, 2019
Related Publication 20240039845A1 · Feb 1, 2024
References Cited (38)
US 7957295B2 · Varma et al. · 2011 [cited by applicant]
US 8462821B1 · Sagarwala · 2013 [cited by examiner]
US 8635371B2 · Kim et al. · 2014 [cited by applicant]
US 8670326B1 · Balasubramanian et al. · 2014 [cited by applicant]
US 10230605B1 · Filsfils et al. · 2019 [cited by applicant]
US 10284460B1 · Bshara et al. · 2019 [cited by applicant]
US 10361969B2 · Bosch et al. · 2019 [cited by applicant]
US 11165699B2 · Filsfils · 2021 [cited by examiner]
US 11245617B1 · Bonica · 2022 [cited by examiner]
US 11736397B2 · Filsfils · 2023 [cited by examiner]
US 11863435B2 · Filsfils · 2024 [cited by examiner]
US 20020157041A1 · Bennett et al. · 2002 [cited by applicant]
US 20030043427A1 · Robidas et al. · 2003 [cited by applicant]
US 20030145105A1 · Desineni et al. · 2003 [cited by applicant]
US 20100221003A1 · Bernstein et al. · 2010 [cited by applicant]
US 20150109902A1 · Kumar · 2015 [cited by examiner]
US 20150131484A1 · Aldrin · 2015 [cited by applicant]
US 20160142291A1 · Polland · 2016 [cited by examiner]
US 20160205441A1 · Iguchi · 2016 [cited by examiner]
US 20160241457A1 · Semwal · 2016 [cited by examiner]
US 20170064343A1 · Tsukagoshi · 2017 [cited by applicant]
US 20170180235A1 · Zak et al. · 2017 [cited by applicant]
US 20180026884A1 · Nainar et al. · 2018 [cited by applicant]
US 20180248797A1 · Kim et al. · 2018 [cited by applicant]
US 20180278548A1 · Pignataro et al. · 2018 [cited by applicant]
US 20180331890A1 · Song et al. · 2018 [cited by applicant]
US 20180375766A1 · Filsfils et al. · 2018 [cited by applicant]
US 20190132221A1 · Boutros · 2019 [cited by examiner]
US 20190268267A1 · Pignataro et al. · 2019 [cited by applicant]
US 20190349303A1 · Previdi · 2019 [cited by examiner]
US 20200084147A1 · Gandhi et al. · 2020 [cited by applicant]
US 20200229042A1 · Srivastava et al. · 2020 [cited by applicant]
US 20240022510A1 · Filsfils · 2024 [cited by examiner]
WO 2019128950A1 · 2019 [cited by applicant]
Bhandari S., et al., “Encapsulations for In-situ OAM Data; draft-brockners-inband-oam-transport-05.txt,” IPPM Internet-Draft, Internet Engineering Task Force, IETF, Standard Working Draft, Internet Society (ISOC) 4, Rue… [cited by applicant]
Brockners F., et al., “Data Fields for In-situ OAM,” IETF, Oct. 24, 2019, 47 pages, XP055770479, [Retrieved on Feb. 1, 2021], Retrieved from URL: https://tools.ietf.org/pdf/draft-ietf-ippm-ioam-data-08.pdf. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2020/059206, mailed Feb. 9, 2021, 13 Pages. [cited by applicant]
Xhonneux M., et al., “An Interface for Programmable IPV6 Segment Routing Network Functions in Linux,” DIAL.mem, Digital Master Theses, 2018, 87 Pages. [cited by applicant]