IP Library › Granted Patent US 12,470,487
Granted Patent B2
US 12,470,487 · App. 18/537,302 · Granted Nov 11, 2025

Systems and methods for scalable validation of multiple paths in a network using segment routing

Inventors: Amila Pradeep Kumara Tharaperiya Gamage (Kanata, CA); Michel Dean Taillon (Stittsville, CA); Darren Russell Dukes (Ottowa, CA)
Assignee: Cisco Technology, Inc.
H04L47/17H04L47/12H04L47/33
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,470,487
App. No.
18/537,302
Granted
Nov 11, 2025
Kind
B2
Abstract

Systems, methods, and computer-readable media are disclosed for a scalable process for validating multiple paths used for routing network traffic in a network using segment routing. In one aspect, a method includes identifying, by a first network hop, one or more second network hops, for each of the one or more second network hops, determining a corresponding flow label, the corresponding flow label including a corresponding test packet for validating packet forwarding between the first network hop and a corresponding second network hop, and performing a validation process for validating packet forwarding from the first network hop to the corresponding second network hop using at least the corresponding flow label. The method further includes determining a queue of additional network hops to be validated based on a result of the validation process, and iteratively validating packet forwarding for each additional network hop in the queue.

Claims (60)

1 . A method comprising:

identifying, by a first network hop, one or more network hops across a multi-cloud environment, wherein the one or more network hops are adjacent or connected to the first network hop;

determining path information for the first network hop and a corresponding flow label for each of the respective one or more network hops, wherein each of the corresponding flow labels including (i) an identifier of the first network hop; (ii) data being transmitted from the first network hop to a corresponding hop of the one or more network hops, (iii) an nth link between the first network hop, and (iv) an identifier of the corresponding hop, and wherein the corresponding flow label being separate from a segment identifier; and

validating packet forwarding of the one or more network hops using at least the corresponding flow label,

wherein the nth is greater than zero.

2 . The method of claim 1 , wherein clouds of the multi-cloud environment are connected through an overlay network.

3 . The method of claim 1 , wherein the validating comprises:

generating a validation test packet for the one or more network hops, the validation test packet including the corresponding flow label and a segment routing header identifying a Segment Identifier list (SID-list);

sending the validation test packet;

receiving a response test packet from the one or more network hops; and

determining a result of the validating.

4 . The method of claim 3 , wherein the result of validating is one of (1) successful packet forwarding to the one or more network hops when the response test packet includes a confirmation message, or (2) failure of packet forwarding to the one or more network hops when the response test packet does not include the confirmation message.

5 . The method of claim 1 , further comprising:

determining one or more additional network hops across the multi-cloud environment to be validated based on the validating of the one or more network hops; and

validating packet forwarding for the one or more additional network hops.

6 . He method of claim 5 , wherein determining the one or more additional network hops includes adding the one or more network hops to the one or more additional network hops if a result of the validating is successful packet forwarding to the one or more network hops.

7 . The method of claim 5 , wherein the validating the packet forwarding for the one or more additional network hops further comprising:

selecting one of the one of more additional network hops;

generating a query data packet for the selected network hop;

receiving a response data packet in response to sending the query data packet from the selected network hop; and

validating packet forwarding of the selected network hop based on the response data packet.

8 . The method of claim 7 , wherein the query data packet includes a path instruction of a previous network hop of the selected network hop; and

the response data packet includes a path instruction of the selected network hop, an identifier of one or more next hops of the selected network hop and a corresponding flow label for each of the one or more next hops of the selected network hop.

9 . The method of claim 7 , wherein validating the packet forwarding of the selected network hop comprises:

generating a validation data packet for validating packet forwarding to the selected network hop;

sending the validation data packet through the selected network hop;

receiving the response data packet from a next hop of the selected network hop; and

validating the packet forwarding of the selected network hop based on the response data packet.

10 . The method of claim 1 , wherein each of the one or more network hops is one of a router or a switch for routing data plane traffic of an IPv6 network using segment routing.

11 . A system comprising:

at least one processor; and

at least one memory storing instructions, which when executed by the at least one processor, causes the at least one processor to:

identify, at a first network hop, one or more network hops across a multi-cloud environment, wherein the one or more network hops are adjacent or connected to the first network hop;

determine path information for the first network hop and a corresponding flow label for each of the respective one or more network hops, wherein each of the corresponding flow labels including (i) an identifier of the first network hop; (ii) data being transmitted from the first network hop to a corresponding hop of the one or more network hops, (iii) an nth link between the first network hop, and (iv) an identifier of the corresponding hop, and wherein the corresponding flow label being separate from a segment identifier; and

validate packet forwarding of the one or more network hops using at least the corresponding flow label,

wherein the nth is greater than.

12 . The system of claim 11 , wherein clouds of the multi-cloud environment are connected through an overlay network.

13 . The system of claim 11 , further comprising instructions, which when executed by the at least one processor, causes the at least one processor to:

generate a validation test packet for the one or more network hops, the validation test packet including the corresponding flow label and a segment routing header identifying a Segment Identifier list (SID-list);

send the validation test packet;

receive a response test packet from the one or more network hops; and

determine a result of the validating.

14 . The system of claim 13 , wherein the result of validating is one of (1) successful packet forwarding to the one or more network hops when the response test packet includes a confirmation message, or (2) failure of packet forwarding to the one or more network hops when the response test packet does not include the confirmation message.

15 . The system of claim 12 , further comprising instructions, which when executed by the at least one processor, causes the at least one processor to:

determine one or more additional network hops across the multi-cloud environment to be validated based on the validation of the one or more network hops; and

validate packet forwarding for the one or more additional network hops.

16 . The system of claim 15 , wherein determining the one or more additional network hops includes adding the one or more network hops to the one or more additional network hops if a result of the validating is a successful packet forwarding to the one or more network hops.

17 . The system of claim 15 , further comprising instructions, which when executed by the at least one processor, causes the at least one processor to:

select one of the one of more additional network hops;

generate a query data packet for the selected network hop;

receive a response data packet in response to sending the query data packet from the selected network hop; and

validate packet forwarding of the selected network hop based on the response data packet.

18 . The system of claim 17 , wherein the query data packet includes a path instruction of a previous network hop of the selected network hop; and

the response data packet includes a path instruction of the selected network hop, an identifier of one or more next hops of the selected network hop and a corresponding flow label for each of the one or more next hops of the selected network hop.

19 . The system of claim 17 , wherein validating the packet forwarding of the selected network hop comprises:

generating a validation data packet for validating packet forwarding to the selected network hop;

sending the validation data packet through the selected network hop;

receiving the response data packet from a next hop of the selected network hop; and

validating the packet forwarding of the selected network hop based on the response data packet.

20 . The system of claim 11 , wherein each of the one or more network hops is one of a router or a switch for routing data plane traffic of an IPv6 network using segment routing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2023
From: GAMAGE, AMILA PRADEEP KUMARA THARAPERIYA; TAILLON, MICHAEL DEAN; DUKES, DARREN RUSSELL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 065847/0675 →
Continuity (3)
Continuation 17816216 · Jul 29, 2022
Continuation 17112663 · Dec 4, 2020
Related Publication 20240187346A1 · Jun 6, 2024
References Cited (30)
US 10447589B2 · Bardhan et al. · 2019 [cited by applicant]
US 10887225B1 · Chan et al. · 2021 [cited by applicant]
US 11405320B2 · Gamage et al. · 2022 [cited by applicant]
US 11863454B2 · Gamage · 2024 [cited by examiner]
US 20140269266A1 · Filsfils et al. · 2014 [cited by applicant]
US 20150350060A1 · Patil · 2015 [cited by examiner]
US 20160127219A1 · Akhavain Mohammadi et al. · 2016 [cited by applicant]
US 20160164741A1 · Durgin et al. · 2016 [cited by applicant]
US 20180077051A1 · Nainar et al. · 2018 [cited by applicant]
US 20180205633A1 · Watanabe · 2018 [cited by examiner]
US 20180278514A1 · Chadha · 2018 [cited by examiner]
US 20180351863A1 · Vairavakkalai et al. · 2018 [cited by applicant]
US 20190081897A1 · Shakir et al. · 2019 [cited by applicant]
US 20190166044A1 · Mukherjee · 2019 [cited by examiner]
US 20190260657A1 · Filsfils et al. · 2019 [cited by applicant]
US 20210092037A1 · Rathi et al. · 2021 [cited by applicant]
US 20210367867A1 · Arora et al. · 2021 [cited by applicant]
US 20220086078A1 · Sivabalan · 2022 [cited by examiner]
US 20220103462A1 · Sidebottom et al. · 2022 [cited by applicant]
US 20220337506A1 · Zhu · 2022 [cited by applicant]
EP 3349401A1 · 2018 [cited by applicant]
EP 3349491A1 · 2018 [cited by applicant]
EP 3664386A1 · 2020 [cited by applicant]
EP 3382954B1 · 2021 [cited by applicant]
WO 2017152112A2 · 2017 [cited by applicant]
WO WO2020136660A1 · 2020 [cited by examiner]
Chen J., et al., “Hydrogel to Guide Chondrogenesis Versus Osteogenesis of Mesenchymal Stem Cells for Fabrication of Cartilaginous Tissues,” Biomedical Materials, Published May 18, 2020, vol. 15, No. 4, 26 pages, [Retrie… [cited by applicant]
International Preliminary Report on Patentability from Application No. PCT/US2021/061232, mailed Jun. 15, 2023, 10 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2021/051096, mailed Dec. 27, 2021, 11 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2021/061232, mailed Mar. 14, 2022, 13 Pages. [cited by applicant]