Multi-network processing unit cooperative MPLS (Multi-Protocol Label Switching) message processing method and system
By using multiple network processing units to collaboratively process MPLS packets, the functional limitations and performance bottlenecks of a single network processing unit are resolved, enabling efficient and flexible MPLS packet processing and tracing. This approach is applicable to various hardware architectures and improves system throughput and commercial value.
Patent Information
- Application Number
- CN202511182559.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-22
- Publication Date
- 2025-11-28
AI Technical Summary
Traditional single network processing units struggle to efficiently and flexibly handle complex MPLS packets, especially in scenarios where MPLS, tunneling, and other technologies are widely used. This leads to functional limitations and performance bottlenecks, resulting in bandwidth mismatch and reduced overall system throughput.
By employing a multi-network processing unit collaborative approach, multiple packet connections are made between the network processing units at the ingress and egress ports using internal loopback ports. Combined with precise matching of TCAM ACLs, flexible packet modification of FCM, and VLAN operations of Push-T/Pop-T, MPLS packets are processed in stages to achieve the embedding and stripping of custom tags and traceable VLANs.
It improves the flexibility and efficiency of MPLS packet processing, optimizes internal bandwidth utilization, supports complex packet editing and status transmission, enables fine-grained tracing and traffic control, is suitable for various hardware architectures, meets the network access testing requirements of operators, and enhances commercial value.
Smart Images

Figure CN121037472A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of network, more particularly, to a method and system for MPLS packet processing based on cooperation of multiple network processing units. BACKGROUND
[0002] With the complication of network services and the explosive growth of traffic, it is difficult for a single network processing unit to efficiently and flexibly process various complex network packets, especially in scenarios where MPLS, tunnel and other technologies are widely used. MPLS packet processing usually involves operations such as label push, pop, exchange, and possibly packet header modification, five-tuple matching, etc. In existing solutions, packet processing is often completed in one or a few processing units, which can effectively execute standardized packet processing procedures.
[0003] In some specific hardware architectures, a single processing unit (slice) may have certain functional limitations or performance bottlenecks, such as being unable to complete all necessary packet parsing, modification and forwarding at once. This results in the need for complex configurations or performance challenges when processing specific types of MPLS packets. For example, in some ASIC chips, the tunnel parser may not be able to directly identify the inner five-tuple of all MPLS packets, or may easily cause bandwidth mismatch problems when the packet length changes (such as adding or stripping labels, filling bytes), thereby affecting the overall throughput and processing efficiency of the system. In addition, complex packet processing logic concentrated in one processing unit increases its burden and complexity, reducing system flexibility and scalability. SUMMARY
[0004] The present application provides a method and system for MPLS packet processing based on cooperation of multiple network processing units to improve the above problems.
[0005] The first embodiment of the present application provides a system for MPLS packet processing based on cooperation of multiple network processing units, which at least includes a first network processing unit located at an ingress and a second network processing unit located at an egress, and the network processing units are connected in sequence through an internal loopback port; wherein:
[0006] The first network processing unit is configured to identify MPLS packets and add custom labels and trace VLANs to them;
[0007] The MPLS packets with added custom labels and trace VLANs are redirected to the internal loopback port, so that they eventually reach the second network processing unit after loopback;
[0008] The second network processing unit is configured to further process the MPLS packets according to the custom labels in the packets, including stripping and filling labels and / or modifying trace VLANs;
[0009] redirecting the processed MPLS packet to a final egress port.
[0010] Preferably, the first network processing unit is specifically configured to:
[0011] receive an MPLS packet;
[0012] match the type of the MPLS packet through a first TCAM ACL to identify the MPLS packet;
[0013] add a predefined custom tag to the identified MPLS packet using a FCM function; the custom tag contains packet processing status and source;
[0014] add a trace VLAN to the MPLS packet using a Push-T function to record original ingress information of the MPLS packet or subsequent trace requirements;
[0015] redirect the MPLS packet with the added tag and trace VLAN to a preset internal loopback port to make the MPLS packet loop back from the current network processing unit to a next network processing unit.
[0016] Preferably, at least one intermediate network processing unit is further arranged between the first network processing unit and the second network processing unit, and the intermediate network processing unit is specifically configured to:
[0017] receive the looped back MPLS packet and input the MPLS packet to an IPP channel;
[0018] match the custom tag in the packet through a second Tcam ACL in the IPP channel to identify the MPLS packet after preliminary processing;
[0019] strip or modify a complete label in the packet using a FCM function according to the matched custom tag and other packet information, or perform operations on the trace VLAN through a Pop-T or Push-T function;
[0020] redirect the processed MPLS packet to an internal loopback port of a next intermediate network processing unit until finally reaching an internal loopback port of the second network processing unit.
[0021] Preferably, the second network processing unit is specifically configured to:
[0022] receive the looped back MPLS packet and input the MPLS packet to an IPP channel;
[0023] match an egress port group tag or other target information of the packet through a third Tcam ACL in the IPP channel;
[0024] pop out the outermost trace VLAN by POP-1 action;
[0025] strip the custom tag in the packet by FCM function;
[0026] redirect the MPLS packet with final processing to the actual egress port.
[0027] Preferably, the second network processing unit is further configured to:
[0028] At the egress port, add a C-TAG as the final trace VLAN according to BDI using Pipeline L2 function.
[0029] Preferably, the bandwidth of the single internal loopback port is 800 Gbps.
[0030] Preferably, the method further comprises:
[0031] The first network processing unit is further configured to, for a normal packet entering the IPP, perform Icl+5-tuple matching processing, then enter the EPP, in which the normal packet is subjected to "remove input port group field+map trace VLAN" operation and is output through "normal port".
[0032] The embodiment of the application further provides a MPLS packet processing method based on cooperation of multiple network processing units, the multiple network processing units at least comprising a first network processing unit located at an ingress and a second network processing unit located at an egress, and the network processing units are connected in sequence through an internal loopback port; wherein:
[0033] At the first network processing unit:
[0034] recognize the MPLS packet and add a custom tag and a trace VLAN to the MPLS packet;
[0035] redirect the MPLS packet with the added custom tag and trace VLAN to the internal loopback port, so that the MPLS packet finally reaches the second network processing unit after loopback;
[0036] At the second network processing unit:
[0037] further process the MPLS packet according to the custom tag in the MPLS packet, including stripping a complete tag and / or modifying the trace VLAN;
[0038] redirect the processed MPLS packet to the final egress port.
[0039] Preferably, the multiple network processing units further comprise at least one intermediate network processing unit arranged between the first network processing unit and the second network processing unit;
[0040] then at the intermediate network processing unit:
[0041] receiving the MPLS packet after loopback, and inputting the MPLS packet to an IPP channel;
[0042] In the IPP channel, the custom tag in the MPLS packet is matched through a second Tcam ACL to identify the MPLS packet after preliminary processing;
[0043] According to the matched custom tag and other packet information, the FCM function is used to strip or modify the complete label in the packet or to operate on the traceable VLAN through the Pop-T or Push-T function;
[0044] The processed MPLS packet is redirected to the internal loopback port of the next intermediate network processing unit until it finally reaches the internal loopback port of the second network processing unit.
[0045] Compared with the prior art, the present application has at least the following beneficial effects:
[0046] (1) Improve the flexibility and efficiency of MPLS packet processing: the complex MPLS packet processing flow is divided into multiple stages, which is completed by different network processing units in cooperation, effectively avoiding the functional limitations of a single processing unit and improving the processing efficiency.
[0047] (2) Support complex packet editing and state transfer: by embedding custom tags in MPLS packets, the state transfer and identification of packets in different processing stages are realized, so that subsequent processing can make decisions based on the specific state of the packet.
[0048] (3) Optimize internal bandwidth utilization: by stripping the complete label in stages and intelligently, the problem of bandwidth loss caused by the mismatch between internal loopback port bandwidth and output physical port bandwidth is effectively solved, and the overall throughput of the system is improved.
[0049] (4) Realize fine-grained tracing and flow control: combined with the addition and stripping of traceable VLANs and the use of custom tags, effective tracking of MPLS packet sources and stage-based flow control are realized.
[0050] (5) Suitable for various hardware architectures: the modular design of this scheme makes it adaptable to different ASIC chip architectures and functional characteristics, with good universality and scalability.
[0051] (6) Significant commercial value: In the context of a traffic offloader, the chip is required to match the inner five-tuple information of the MPLS tunnel packet and support the traceability of VLAN addition, while the chip processing bandwidth meets the 1.6T line speed forwarding requirement. Currently, the chip cannot support the matching of the inner five-tuple, which will cause the device manufacturer to fail the operator's network access test review, seriously limiting the application field of the switching chip. After using the embodiment, the operator's network access test requirement can be met, and the application of the switching chip in the offloader field is guaranteed, thereby bringing significant commercial value. BRIEF DESCRIPTION OF DRAWINGS
[0052] Figure 1 The network architecture diagram of the MPLS packet processing system of the multi-network processing unit cooperation of the first embodiment of the present application.
[0053] Figure 2 The processing schematic diagram of the first network processing unit (slice0).
[0054] Figure 3 The structure of the packet after being completed and added with a label.
[0055] Figure 4 The processing schematic diagram of the intermediate network processing unit (slice1).
[0056] Figure 5 The processing schematic diagram of the second network processing unit (slice2). DETAILED DESCRIPTION
[0057] The specific embodiments of the present application will be further described in detail below in combination with the drawings and embodiments. The following embodiments are used to illustrate the present application, but not to limit the scope of the present application.
[0058] Please refer to Figure 1 The first embodiment of the present application provides a multi-network processing unit cooperative MPLS packet processing system, which at least includes a first network processing unit 10 located at the entrance and a second network processing unit 20 located at the exit port, and the network processing units are connected in turn through the internal loopback port; wherein:
[0059] The first network processing unit 10 is used for identifying the MPLS packet and adding a custom label and a traceability VLAN to the MPLS packet.
[0060] Specifically, in the embodiment, the packet enters the first network processing unit 10 Figure 1After the IPP (Ingress Packet Processor) of slice0 in the first network processing unit 10, the IPP performs type matching on the packet, and if the packet is identified as a normal packet, the IPP performs ICL+5-tuple matching processing, and then enters the EPP (Egress Packet Processor). At the EPP, the operation of "removing the input port group field + mapping the source VLAN" is performed, and the packet is output through the "normal port".
[0061] If the packet is identified as an MPLS packet, at the EPP, the MPLS packet is processed by "completing the MPLS label", and then enters the next network processing unit through the internal loopback port rc0 until finally reaches the second network processing unit.
[0062] Specifically, referring to Figure 2 For the MPLS packet, the first network processing unit 10 specifically performs the following steps:
[0063] The MPLS packet type is matched by the TCAM ACL (Ternary Content Addressable Memory Access Control List), and the MPLS packet is identified.
[0064] A predefined custom tag (for example, a "12-skip0" tag, which can contain packet processing status, source, etc., and can occupy a fixed number of bytes) is added to the identified MPLS packet by using the FCM (Flow Control Management) function. The structure of the packet after completion and addition of the tag is as shown in Figure 3
[0065] A source VLAN tag is added to the MPL packet by using the Push-T function, which is used to record the original entry information of the packet or subsequent source requirements.
[0066] The MPLS packet with the added tag and source VLAN is redirected to a preset internal loopback port (for example, RC0), so that the MPL packet is looped back from the current network processing unit to the next network processing unit for subsequent processing.
[0067] In this embodiment, 16 RC loopback ports built in the switching chip are used at the same time, the bandwidth of a single RC loopback port is 800 Gbps, and the total loopback capacity can meet single slice 1.6 Tbps, which can fully support all front panel port line speed forwarding.
[0068] In this embodiment, the next network processing unit can be the second network processing unit 20 (i.e. the system has only two network processing units) or an intermediate network processing unit (the number of intermediate network processing units can be one or more). For the case that the next network processing unit is an intermediate network processing unit, please refer to Figure 4 The intermediate network processing unit 30 (slice1 in Figure 4 is configured to:
[0069] receive the MPLS packet after loopback and input the MPLS packet to an IPP channel;
[0070] In the IPP channel, the MPLS packet after preliminary processing is identified by matching a custom tag (e.g. "12-skip0" tag) in the packet by a second Tcam ACL.
[0071] According to the matched custom tag and other packet information, the FCM function is used to strip or modify the complete label (if any) in the packet, for example, stripping at a specific position to optimize bandwidth utilization.
[0072] If necessary, the traceable VLAN can be further operated (e.g. modified, deleted or added with a new VLAN tag) by a Pop-T or Push-T function.
[0073] The processed MPLS packet is redirected to the next internal loopback port (e.g. RC1) until it finally reaches the second network processing unit 20.
[0074] Wherein, the processed MPLS packet of the intermediate network processing unit 30 can be redirected to the next intermediate network processing unit 30 and finally reaches the second network processing unit 20, or can be directly redirected to the second network processing unit 20, which are all within the protection scope of the present application.
[0075] Please refer to Figure 5 The second network processing unit 20 (slice2 in Figure 5 is configured to:
[0076] receive the MPLS packet after loopback and input the MPLS packet to an IPP channel;
[0077] In the IPP channel, the output port group tag or other target information of the packet is matched by a third Tcam ACL.
[0078] The outermost traceable VLAN is popped by a POP-1 action;
[0079] The custom tag in the packet is stripped by an FCM function;
[0080] The MPLS packet with the final processing completed is redirected to the actual egress port.
[0081] Optionally, at the egress port, the second network processing unit 20 can also add a C-TAG layer as the final trace VLAN according to the BDI using the Pipeline L2 function.
[0082] The core of the embodiment of the application is to construct a multi-stage, modular MPLS packet processing pipeline. By using internal loopback ports for packet redirection between different network processing units (slices), combined with the precise matching of Tcam ACL, the flexible packet modification of FCM, and the VLAN operation capability of Push-T / Pop-T, the identification, state marking, multi-layer label processing, trace tracking, and bandwidth-optimized complete byte stripping of MPLS packets are realized. This collaborative processing mode effectively overcomes the functional limitations and performance bottlenecks of a single processing unit, ensuring efficient and flexible forwarding of complex MPLS traffic.
[0083] Compared with the prior art, the application has at least the following beneficial effects:
[0084] (1) Improve the flexibility and efficiency of MPLS packet processing: The complex MPLS packet processing flow is divided into multiple stages, which are collaboratively completed by different network processing units, effectively avoiding the functional limitations of a single processing unit and improving the processing efficiency.
[0085] (2) Support complex packet editing and state transfer: By embedding custom markers in MPLS packets, state transfer and identification of packets at different processing stages are achieved, enabling subsequent processing to make decisions based on the specific state of the packet.
[0086] (3) Optimize internal bandwidth utilization: By stripping the complete label in stages and intelligently, the problem of bandwidth loss caused by the mismatch between internal loopback port bandwidth and output physical port bandwidth is effectively solved, improving the overall throughput of the system.
[0087] (4) Realize fine trace and flow control: Combined with the addition and stripping of trace VLAN and the use of custom markers, effective tracking of the source of MPLS packets and stage-based flow control are realized.
[0088] (5) Suitable for various hardware architectures: The modular design of this scheme makes it adaptable to different ASIC chip architectures and functional characteristics, with good universality and scalability.
[0089] (6) Significant Commercial Value: In the context of splitter services, the chip is required to match and process the inner five-tuple information of MPLS tunnel packets and support the feature of adding traceable VLANs. Simultaneously, the chip's processing bandwidth must meet the 1.6T line-rate forwarding requirement. Currently, existing chips cannot support the matching of the inner five-tuple, which prevents equipment manufacturers from passing the network access test review by operators, severely limiting the application areas of switching chips. By adopting this embodiment, the network access test requirements of operators can be met, ensuring the application of switching chips in the splitter field and thus bringing significant commercial value.
[0090] The second embodiment of the present invention also provides an MPLS packet processing method with multiple network processing units cooperating, wherein the multiple network processing units include at least a first network processing unit located at the ingress port and a second network processing unit located at the egress port, and the network processing units are sequentially connected through internal loopback ports; wherein:
[0091] At the first network processing unit:
[0092] Identify MPLS packets and add custom tags and source VLANs to them;
[0093] MPLS packets with added custom tags and source VLANs are redirected to the internal loopback port, so that they eventually reach the second network processing unit after loopback.
[0094] At the second network processing unit:
[0095] Further processing is performed based on the custom tags in the MPLS message, including stripping the completion tag and / or modifying the source VLAN;
[0096] The processed MPLS packets are redirected to the final output port.
[0097] Preferably, the multiple network processing units further include at least one intermediate network processing unit disposed between the first network processing unit and the second network processing unit;
[0098] Then at the intermediate network processing unit:
[0099] Receive the loopback MPLS message and input the MPLS message into the IPP channel;
[0100] In the IPP channel, custom tags in the packets are matched using the second Tcam ACL to identify the MPLS packets that have undergone preliminary processing;
[0101] Based on the matched custom tags and other message information, the FCM function can be used to strip or modify the completion tags in the message, or the source VLAN can be operated through the Pop-T or Push-T function.
[0102] The processed MPLS packet is redirected to the internal loopback port of the next intermediate network processing unit until it finally reaches the internal loopback port of the second network processing unit.
[0103] It should be noted that the above-mentioned embodiments illustrate rather than limit the application, and that one skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The application can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a unitary claim, several devices or items can be listed, comprising at least one unique element. Means-plus-function claims are understood not to cover only the means already known but also the unknown equivalent ones which have the identical function.
[0104] The above embodiments are only suitable for illustrating the present application, but not for limiting the present application, and the ordinary skilled in the art can make various changes and modifications without departing from the spirit and scope of the present application, therefore all equivalent technical solutions also belong to the scope of the present application, and the patent protection scope of the present application should be defined by the claims.
Claims
1. A multi-network processing unit collaborative MPLS packet processing system, characterized in that, It includes at least a first network processing unit located at the inlet and a second network processing unit located at the outlet, with the network processing units connected sequentially via internal loopback ports; wherein: The first network processing unit is used to identify MPLS packets and add custom tags and source VLANs to them; MPLS packets with added custom tags and source VLANs are redirected to the internal loopback port, so that they eventually reach the second network processing unit after loopback. The second network processing unit is used to perform further processing based on the custom tags in the MPLS packets, including stripping the completion tags and / or modifying the source VLAN; The processed MPLS packets are redirected to the final output port.
2. The MPLS packet processing system with multi-network processing unit collaboration according to claim 1, characterized in that, The first network processing unit is specifically used for: Receive MPLS messages; The MPLS packet is identified by matching the type of the MPLS packet using the first TCAMACL; Using the FCM function, a predefined custom tag is added to the identified MPLS packet; the custom tag includes the packet processing status and source. Using the Push-T function, a traceability VLAN can be added to the MPLS packet to record the original entry information of the MPLS packet or subsequent traceability requirements. MPLS packets with added tags and traceable VLANs are redirected to a preset internal loopback end, allowing MPLS packets to loop back from the current network processing unit to the next network processing unit.
3. The MPLS packet processing system with multi-network processing unit collaboration according to claim 1, characterized in that, It also includes at least one intermediate network processing unit disposed between the first network processing unit and the second network processing unit, wherein the intermediate network processing unit is specifically used for: Receive the loopback MPLS message and input the MPLS message into the IPP channel; In the IPP channel, custom tags in the packets are matched using the second Tcam ACL to identify the MPLS packets that have undergone preliminary processing; Based on the matched custom tags and other message information, the FCM function can be used to strip or modify the completion tags in the message, or the source VLAN can be operated through the Pop-T or Push-T function. The processed MPLS packets are redirected to the internal loopback port of the next intermediate network processing unit until they finally reach the internal loopback port of the second network processing unit.
4. The MPLS packet processing system with multi-network processing unit collaboration according to claim 1, characterized in that, The second network processing unit is specifically used for: Receive the loopback MPLS message and input the MPLS message into the IPP channel; In the IPP channel, the output port group marker or other target information of the packet is matched through the third Tcam ACL; Use the POP-1 action to pop up the outermost source VLAN; Use the FCM function to remove custom tags from messages; The final processed MPLS message is redirected to the actual output port.
5. The MPLS packet processing system with multi-network processing unit collaboration according to claim 3, characterized in that, The second network processing unit is also used for: At the outgoing port, use the Pipeline L2 function to add a C-TAG layer based on the BDI as the final traceability VLAN.
6. The MPLS packet processing system with multi-network processing unit collaboration according to claim 1, characterized in that, The bandwidth of a single internal loopback port is 800Gbps.
7. The MPLS packet processing system with multi-network processing unit collaboration according to claim 1, characterized in that, Also includes: The first network processing unit is also used to perform Icl+5 tuple matching processing on ordinary packets entering IPP, and then enter EPP. In EPP, the ordinary packet is subjected to the "remove input port group field + map source VLAN" operation and output through "normal port".
8. A method for MPLS packet processing involving multiple network processing units, characterized in that, The multi-network processing unit includes at least a first network processing unit located at the inlet and a second network processing unit located at the outlet, and the network processing units are sequentially connected through internal loopback ports; wherein: At the first network processing unit: Identify MPLS packets and add custom tags and source VLANs to them; MPLS packets with added custom tags and source VLANs are redirected to the internal loopback port, so that they eventually reach the second network processing unit after loopback. At the second network processing unit: Further processing is performed based on the custom tags in the MPLS message, including stripping the completion tag and / or modifying the source VLAN; The processed MPLS packets are redirected to the final output port.
9. The MPLS packet processing method with multi-network processing unit collaboration according to claim 8, characterized in that, The multi-network processing unit also includes at least one intermediate network processing unit disposed between the first network processing unit and the second network processing unit; Then at the intermediate network processing unit: Receive the loopback MPLS message and input the MPLS message into the IPP channel; In the IPP channel, custom tags in the packets are matched using the second Tcam ACL to identify the MPLS packets that have undergone preliminary processing; Based on the matched custom tags and other message information, the FCM function can be used to strip or modify the completion tags in the message, or the source VLAN can be operated through the Pop-T or Push-T function. The processed MPLS packets are redirected to the internal loopback port of the next intermediate network processing unit until they finally reach the internal loopback port of the second network processing unit.
