IP Library › Granted Patent US 12,309,064
Granted Patent B2
US 12,309,064 · App. 18/047,299 · Granted May 20, 2025

Method for forwarding packet in SRv6 service function chain, SFF, and SF device

Inventors: Yongkang Zhang (Nanjing, CN); Zhibo Hu (Beijing, CN)
Assignee: Huawei Technologies Co., Ltd.
H04L45/74H04L12/4641H04L45/566
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,309,064
App. No.
18/047,299
Granted
May 20, 2025
Kind
B2
Abstract

This application provides a method for forwarding a packet in an SRv6 service function chain, an SFF, and an SF device, and belongs to the field of communication technologies. In this application, an End.PT.SID is used to identify that the SFF forwards an SRv6 packet to the SF device without stripping an SRH. Based on the End.PT.SID, the SFF does not strip the SRH in the SRv6 packet, but sends the SRv6 packet to the SF device. In addition, the SFF includes a control flag in the SRv6 packet, so that the control flag is used to identify a scenario in which an IPv6 extension header needs to be offset. The SF device directly offsets the IPv6 extension header in the SRv6 packet based on the control flag, to skip the SRH for service processing.

Claims (55)

1. A method, comprising:

receiving, by a service function forwarder (SFF), a first segment routing over internet protocol version 6 (SRv6) packet, wherein a destination address of the first SRv6 packet comprises an endpoint penetrate segment ID (End.PT.SID), and the End.PT.SID indicates to the SFF to forward the first SRv6 packet to a service function (SF) device without stripping a segment routing header (SRH);

generating, by the SFF, a second SRv6 packet based on the End.PT.SID and the first SRv6 packet, wherein the second SRv6 packet comprises a control flag, the control flag indicates to the SF device to offset an internet protocol version 6 (IPv6) extension header that follows the control flag in the second SRv6 packet, and the IPv6 extension header in the second SRv6 packet comprises an SRH; and

sending, by the SFF, the second SRv6 packet to the SF device.

2. The method according to claim 1 , wherein the control flag further indicates to the SF device to return the IPv6 extension header in a process of returning a packet to the SFF, and after sending, by the SFF, the second SRv6 packet to the SF device, the method further comprises:

receiving, by the SFF, a third SRv6 packet from the SF device, wherein the third SRv6 packet comprises the IPv6 extension header, and the third SRv6 packet and the second SRv6 packet have a same SRH; and

performing forwarding processing, by the SFF, on the third SRv6 packet based on the SRH in the third SRv6 packet.

3. The method according to claim 1 , wherein the second SRv6 packet comprises a hop-by-hop option header, and the hop-by-hop option header comprises the control flag.

4. The method according to claim 3 , wherein the hop-by-hop option header comprises a type-length-value (TLV), and the TLV carries the control flag.

5. The method according to claim 1 , wherein:

the control flag indicates to the SF device to offset the SRH in the second SRv6 packet; or

the control flag indicates to the SF device to offset the SRH in the second SRv6 packet and another IPv6 extension header other than the SRH, wherein the another IPv6 extension header follows the control flag in the second SRv6 packet.

6. The method according to claim 1 , wherein the second SRv6 packet further comprises target information, the target information is used when the SF device performs service processing, and the target information is obtained in the following manner:

obtaining, by the SFF, the target information from the SRH in the first SRv6 packet; or

obtaining, by the SFF, service information from the SRH in the first SRv6 packet, and querying mapping relationship information based on the service information to obtain the target information, wherein the mapping relationship information stores a correspondence between the service information and the target information.

7. The method according to claim 6 , wherein:

the target information comprises at least one of service function chain (SFC) metadata or a virtual private network ID (VPN ID); or

the service information comprises at least one of the SFC metadata or the VPN ID.

8. The method according to claim 6 , wherein the target information and control information are located in a same type-length-value (TLV) in the second SRv6 packet.

9. A service function forwarder (SFF), comprising:

a receiver, configured to receive a first segment routing over internet protocol version 6 (SRv6) packet, wherein a destination address of the first SRv6 packet comprises an endpoint penetrate segment ID (End.PT.SID), and the End.PT.SID indicates to the SFF to forward the first SRv6 packet to a service function (SF) device without stripping a segment routing header (SRH);

at least one processor; and

a non-transitory computer readable storage medium storing a program that is executable by the at least one processor, the program including instructions to:

generate a second SRv6 packet based on the End.PT.SID and the first SRv6 packet, wherein the second SRv6 packet comprises a control flag, the control flag indicates to the SF device to offset an internet protocol version 6 (IPv6) extension header that follows the control flag in the second SRv6 packet, and the IPv6 extension header in the second SRv6 packet comprises an SRH; and

a transmitter, configured to send the second SRv6 packet to the SF device.

10. The SFF according to claim 9 , wherein the control flag further indicates to the SF device to return the IPv6 extension header in a process of returning a packet to the SFF, and the program further includes instructions to:

after sending, by the SFF, the second SRv6 packet to the SF device, receive a third SRv6 packet from the SF device, wherein the third SRv6 packet comprises the IPv6 extension header, and the third SRv6 packet and the second SRv6 packet have a same SRH; and

perform forwarding processing on the third SRv6 packet based on the SRH in the third SRv6 packet.

11. The SFF according to claim 9 , wherein the second SRv6 packet comprises a hop-by-hop option header, and the hop-by-hop option header comprises the control flag.

12. The SFF according to claim 11 , wherein the hop-by-hop option header comprises a type-length-value (TLV), and the TLV carries the control flag.

13. The SFF according to claim 9 , wherein:

the control flag indicates to the SF device to offset the SRH in the second SRv6 packet; or

the control flag indicates to the SF device to offset the SRH in the second SRv6 packet and another IPv6 extension header other than the SRH, wherein the another IPv6 extension header follows the control flag in the second SRv6 packet.

14. The SFF according to claim 9 , wherein the second SRv6 packet further comprises target information, the target information is used when the SF device performs service processing, and the program further includes instructions to:

obtain the target information from the SRH in the first SRv6 packet; or

obtain service information from the SRH in the first SRv6 packet, and query mapping relationship information based on the service information to obtain the target information, wherein the mapping relationship information stores a correspondence between the service information and the target information.

15. The SFF according to claim 14 , wherein:

the target information comprises at least one of service function chain (SFC) metadata or a virtual private network ID (VPN ID); or

the service information comprises at least one of the SFC metadata or the VPN ID.

16. The SFF according to claim 14 , wherein the target information and control information are located in a same type-length-value (TLV) in the second SRv6 packet.

17. A system, comprising:

a service function forwarder (SFF); and

a service function (SF) device;

wherein the SFF is configured to:

receive a first segment routing over internet protocol version 6 (SRv6) packet, wherein a destination address of the first SRv6 packet comprises an endpoint penetrate segment ID (End.PT.SID), and the End.PT.SID indicates to the SFF to forward the first SRv6 packet to the SF device without stripping a segment routing header (SRH);

generate a second SRv6 packet based on the End.PT.SID and the first SRv6 packet, wherein the second SRv6 packet comprises a control flag, the control flag indicates to the SF device to offset an internet protocol version 6 (IPv6) extension header that follows the control flag in the second SRv6 packet, and the IPv6 extension header in the second SRv6 packet comprises an SRH; and

send the second SRv6 packet to the SF device; and

wherein the SF device is configured to:

receive the second SRv6 packet from the SFF; and

offset the IPv6 extension header in the second SRv6 packet based on the control flag.

18. The system according to claim 17 , wherein the control flag further indicates to the SF device to return the IPv6 extension header in a process of returning a packet to the SFF, and the SFF is further configured to:

after sending the second SRv6 packet to the SF device, receive a third SRv6 packet from the SF device, wherein the third SRv6 packet comprises the IPv6 extension header, and the third SRv6 packet and the second SRv6 packet have a same SRH; and

perform forwarding processing on the third SRv6 packet based on the SRH in the third SRv6 packet.

19. The system according to claim 17 , wherein the second SRv6 packet comprises a hop-by-hop option header, and the hop-by-hop option header comprises the control flag.

20. The system according to claim 19 , wherein the hop-by-hop option header comprises a type-length-value (TLV), and the TLV carries the control flag.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: ZHANG, YONGKANG; HU, ZHIBO
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 070939/0147 →
Priority Claims (1)
CN 202010421893.2 · May 18, 2020 · national
Continuity (2)
Continuation PCTCN2021094206 · May 17, 2021
Related Publication 20230078123A1 · Mar 16, 2023
References Cited (33)
US 20190140863A1 · Nainar · 2019 [cited by examiner]
US 20200099610A1 · Heron et al. · 2020 [cited by applicant]
US 20200145255A1 · Pignataro et al. · 2020 [cited by applicant]
US 20210152470A1 · Filsfils · 2021 [cited by examiner]
US 20230140531A1 · Peng · 2023 [cited by examiner]
CN 103004166A · 2013 [cited by applicant]
CN 106330714A · 2017 [cited by applicant]
CN 108156077A · 2018 [cited by applicant]
CN 109688057A · 2019 [cited by applicant]
CN 110557329A · 2019 [cited by applicant]
WO 2018166325A1 · 2018 [cited by applicant]
WO 2019005949A1 · 2019 [cited by applicant]
WO 2020048493A1 · 2020 [cited by applicant]
WO 2020182085A1 · 2020 [cited by applicant]
WO 2021047317A1 · 2021 [cited by applicant]
WO 2021089004A1 · 2021 [cited by applicant]
C. Filsfils et al, IPv6 Segment Routing Header (SRH); draft-ietf-6man-segment-routing-header-16, Network Working Group, Feb. 4, 2019, 29 pages. [cited by applicant]
F. Clad, Ed. et al, Service Programming with Segment Routing; draft-ietf-spring-sr-service-programming-02, Mar. 9, 2020, 77 pages. [cited by applicant]
Filsfils C et al: “SRv6 Network Programming;draft-ietf-spring-srv6-network-programming-15.txt”,SRV6 Network Programming; DRAFT-IETF-SPRING-SRV6-NETWORK-PROGRAMMING-15.TXT; Internet-Draft: Spring, Internet Engineering Ta… [cited by applicant]
C. Filsfils, Ed., “Segment Routing Architecture”, RFC8402, Jul. 2018, 32 pages. [cited by applicant]
C. Filsfils, Ed. et al., IPv6 Segment Routing Header (SRH), RFC 8754, Mar. 2020, 27 pages. [cited by applicant]
Clad F et al: “Segment Routing for Service Chaining;draft-xu-clad-spring-sr-service-chaining-OO.txt”,Segment Routing for Service Chaining; DRAFT-XU-CLAD-SPRING-SR-SERVICE-CHAINING-OO.TXT; Internet-Draft: Spring,Internet… [cited by applicant]
C. Filsfils et al, Segment Routing Policy Architecture, draft-ietf-spring-segment-routing-policy-06.txt, Spring Working Group Internet-Draft, Dec. 14, 2019, 68 pages. [cited by applicant]
Filsfils, C. et al., SRv6 Network Programming; draft-ietf-spring-srv6-network-programming-00, Apr. 24, 2019, 83 pages. [cited by applicant]
Peng Z Li Huawei Technologies C Xie C Li China Telecom S:“SRv6 Compatibility with Legacy Devices;draft-peng-spring-srv6-compatibility-01.txt”,SRV6 Compatibility With Legacy Devices; DRAFT-PENG-SPRING-SRV6-COMPATIBILITY-… [cited by applicant]
C. Filsfils, Ed. et al, SRv6 Network Programming, draft-ietf-spring-srv6-network-programming-08, Spring Internet-Draft, Jan. 10, 2020, 38 pages. [cited by applicant]
J. Halpern et al, Service Function Chaining (SFC) Architecture. RFC7665, Oct. 2015, 32 pages. [cited by applicant]
P. Quinn et al, Network Service Header (NSH). RFC8300, Jan. 2018, 40 pages. [cited by applicant]
F. Clad, Ed. et al, Service Programming with Segment Routing; draft-ietf-spring-sr-service-programming-01, Nov. 4, 2019, 63 pages. [cited by applicant]
C. Filsfils, Ed. et al, IPV6 Segment Routing Header (SRH), draft-ietf-6man-segment-routing-header-26, Network Working Group, Internet-Draft, Oct. 22, 2019, 32 pages. [cited by applicant]
S. Deering et al., “Internet Protocol, Version 6 (IPv6) Specification”,Internet Engineering Task Force (IETF),Request for Comments: 8200 (rfc8200),ISSN: 2070-1721, Jul. 2017, 42 pages. [cited by applicant]
B. Fenner, RFC4727 Experimental Values In IPV4, IPV6, ICMPv4, ICMPv6, UDP, and TCP Headers, Nov. 2006, 11 pages. [cited by applicant]
F. Clad et al, Service Programming with Segment Routing; draft-xuclad-spring-sr-service-programming-00, Spring, Jul. 2, 2018, 30 pages. [cited by applicant]