IP Library › Granted Patent US 12,113,882
Granted Patent B2
US 12,113,882 · App. 17/689,284 · Granted Oct 8, 2024

IPv6 packet processing method and apparatus

Inventors: Jingrong Xie (Beijing, CN); Yang Xia (Beijing, CN); Gang Yan (Beijing, CN); Zhibo Hu (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L69/22H04L45/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 12,113,882
App. No.
17/689,284
Granted
Oct 8, 2024
Kind
B2
Abstract

An IPv6 packet processing method and apparatus where a first routing device obtains an IPv6 packet, and sends the IPv6 packet to a next-hop routing device. The IPv6 packet includes an IPv6 extension header that includes preceding general indication information, where the preceding general indication information includes first information, and where the first information is used to indicate to process the IPv6 packet only on a data plane of a routing device and not to send the IPv6 packet to a CPU.

Claims (40)

1. A first routing device comprising:

a processor; and

a memory coupled to the processor and configured to store instructions that when executed by the processor, cause the first routing device to:

obtain an Internet Protocol version 6 (IPv6) packet, wherein the IPv6 packet comprises an IPv6 extension header, wherein the IPv6 extension header comprises preceding general indication information, and wherein the preceding general indication information comprises first information that instructs to process the IPv6 packet on a data plane of a routing device and to not send the IPv6 packet to a central processing unit (CPU); and

send the IPv6 packet to a next-hop routing device based on the first information.

2. The first routing device of claim 1 , wherein the IPv6 extension header further comprises at least one type-length-value (TLV) option, wherein the preceding general indication information further comprises at least one of second information, third information, or fourth information, wherein the second information indicates a first function or a first type of the at least one TLV option or indicates a second function or a second type of a primary TLV option in the at least one TLV option, wherein the third information indicates a third function or a third type of a secondary TLV option in the at least one TLV option, and wherein the fourth information indicates a quantity of the at least one TLV option.

3. The first routing device of claim 2 , wherein the preceding general indication information further comprises fifth information, and wherein the fifth information instructs to ignore the IPv6 extension header and continue to forward the IPv6 packet or instructs to discard the IPv6 packet when a data plane of a routing device does not support processing of at least one TLV option.

4. The first routing device of claim 3 , wherein the preceding general indication information further comprises sixth information, and wherein the sixth information instructs to send an Internet Control Message Protocol (ICMP) message to a source address of the IPv6 packet when the IPv6 packet is discarded.

5. The first routing device of claim 4 , wherein the preceding general header comprises a Flags field, a Function field, a Parameter field, and a TLV Number field, wherein the Flags field comprises at least one of the first information, the fifth information, and the sixth information, wherein the Function field comprises the second information, wherein the Parameter field comprises the third information, and wherein the TLV Number field comprises the fourth information.

6. The first routing device of claim 1 , wherein the preceding general indication information is included in a preceding general header of the IPv6 extension header, and wherein the preceding general header is located before at least one type length value (TLV) option.

7. The first routing device of claim 5 , wherein the preceding general header is one of a fixed header of the IPv6 extension header is one piece of a preceding general TLV in the IPv6 extension header, or includes the at least one TLV option in one piece of a preceding general TLV in the IPv6 extension header.

8. The first routing device of claim 1 , wherein the IPv6 extension header is a hop-by-hop options header (HBH) or a destination options header (DOH).

9. The first routing device of claim 8 , wherein the IPv6 extension header is the HBH and the IPv6 packet is for a flow classified function or a path maximum transport unit (PMTU) function or wherein the IPv6 extension header is the DOH and the IPv6 packet supports a bit index explicit replication IPv6 encapsulation (BIERv6) function.

10. A second routing device comprising:

a processor; and

a memory coupled to the processor and configured to store instructions that when executed by the processor cause the second routing device to:

receive an Internet Protocol version 6 (IPv6) packet from a previous-hop routing device, wherein the IPv6 packet comprises an IPv6 extension header comprising preceding general indication information, wherein the preceding general indication information comprises first information that instructs to process the IPv6 packet on a data plane of a routing device and to not send the IPv6 packet to a central processing unit (CPU); and

process the IPv6 packet on second data plane of the second routing device based on the first information.

11. The second routing device of claim 10 , wherein the IPv6 extension header further comprises at least one type length value (TLV) option, wherein the preceding general indication information further comprises at least one of second information, third information, or fourth information; wherein the second information indicates a first function or a first type of the at least one TLV option, or a second function or a second type of a primary TLV option in the at least one TLV option, wherein the third information indicates a third function or a third type of a secondary TLV option in the at least one TLV option, wherein the fourth information indicates a quantity of the at least one TLV option, and wherein the processor is further configured to execute the instructions to cause the second routing device to determine, based on at least one of the second information, the third information, or the fourth information, whether the data plane supports processing of the at least one TLV option.

12. The second routing device of claim 11 , wherein the processor is further configured to execute the instructions to cause the second routing device to:

determine, based on at least one of the second information, the third information, or the fourth information, that the data plane does not support processing of the at least one TLV option; and

either ignore the IPv6 extension header and send the IPv6 packet to a next-hop routing device, or discard the IPv6 packet based on fifth information when the preceding general indication information comprises the fifth information.

13. The second routing device of claim 12 , wherein the processor is further configured to execute the instructions to cause the second routing device to send, when discarding the IPv6 packet, an Internet Control Message Protocol (ICMP) message to a source address of the IPv6 packet based on sixth information when the preceding general indication information comprises the sixth information.

14. The second routing device of claim 13 , wherein the processor is further configured to execute the instructions to cause the second routing device to:

determine, in a process of traversing the at least one TLV option, that the data plane does not support processing of any TLV option in the at least one TLV option; and

either ignore the IPv6 extension header and send the IPv6 packet to a next-hop routing device, or discard the IPv6 packet based on fifth information when the preceding general indication information comprises the fifth information.

15. The second routing device of claim 14 , wherein the preceding general header comprises a Flags field, a Function field, a Parameter field, and a TLV Number field, wherein the Flags field comprises at least one of the first information, the fifth information, and the sixth information, wherein the Function field comprises the second information, wherein the Parameter field comprises the third information, and wherein the TLV Number field comprises the fourth information.

16. The second routing device of claim 11 , wherein the processor is further configured to execute the instructions to cause the second routing device to:

determine, based on at least one of the second information, the third information, and the fourth information, that the data plane supports processing of the at least one TLV option; and

traverse the at least one TLV option.

17. The second routing device of claim 11 , wherein the preceding general indication information is included in a preceding general header of the IPv6 extension header, and wherein the preceding general header is located before the at least one TLV option.

18. The second routing device of claim 16 , wherein the preceding general header is one of a fixed header of the IPv6 extension header is one piece of a preceding general TLV in the IPv6 extension header, or includes the at least one TLV option in one piece of a preceding general TLV in the IPv6 extension header.

19. The second routing device of claim 10 , wherein the IPv6 extension header is a hop-by-hop options header (HBH) or a destination options header (DOH).

20. A network system, comprising:

a first routing device configured to:

obtain an Internet Protocol version 6 (IPv6) packet, wherein the IPv6 packet comprises an IPv6 extension header, wherein the IPv6 extension header comprises preceding general indication information, wherein the preceding general indication information comprises first information that instructs to process the IPv6 packet on a data plane of a routing device and to not send the IPv6 packet to a central processing unit (CPU); and

send the IPv6 packet; and

a second routing device coupled to the first routing device and configured to:

receive the IPv6 packet; and

process the IPv6 packet on a second data plane of the second routing device based on the first information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2024
From: XIE, JINGRONG; XIA, YANG; YAN, GANG; HU, ZHIBO
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 068468/0452 →
Priority Claims (2)
CN 201910848563.9 · Sep 9, 2019 · national
CN 201911074212.3 · Oct 31, 2019 · national
Continuity (2)
Continuation PCTCN2020104878 · Jul 27, 2020
Related Publication 20220191310A1 · Jun 16, 2022