A method and system for enhancing stack compatibility and reducing stack bandwidth expansion
By improving the definition and editing method of stacking heads, compatibility problems and bandwidth waste caused by changes in chip hardware implementation solutions in traditional stacking solutions are solved, and higher compatibility and more efficient bandwidth utilization are achieved.
Patent Information
- Application Number
- CN202411426241.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-14
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2044-10-14
AI Technical Summary
In traditional stacking solutions, stack compatibility issues and bandwidth waste due to changes in chip hardware implementation solutions.
By improving the definition of stack heads, the stack heads are divided into fixed-length parts and variable-length parts. The fixed-length part includes the basic head, option bitmap and business head length. The variable-length part includes options and business heads, and according to the specific The Service Forwarding Type Configuration Register to select and edit stack headers.
This enables no need to worry about stacking compatibility issues when chip version updates and saves bandwidth by turning off redundant stacking head options.
Smart Images

Figure CN118945062B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data communication equipment interconnection, and in particular to a method and system for enhancing stack compatibility and reducing stack bandwidth expansion. Background Art
[0002] Stacking refers to the technology of combining multiple switching devices into a stacking system through cables, which is presented as a single switching device. The switching devices in the stacking system forward and receive stacking messages through stacking ports. Stacking messages consist of original messages plus stacking headers. The stacking header carries information obtained by the previous device and passed to the next device for processing. Since the stacking header is additional information in addition to the original message, the bandwidth will expand when the message entering from the ordinary port is sent to the stacking port.
[0003] The traditional stacking head definition is strongly related to the hardware implementation of the stacking solution. If the stacking implementation solution of the next-generation chip changes, it may cause compatibility issues when stacking switching devices using new and old chips, or redundant fields in the stacking header, resulting in bandwidth waste. Taking MPLS VPLS service as an example, four pieces of information, SVP, VFI, DVP and NHI, are used in the encapsulation process. Assuming that the stacking process on the downstream device on the first-generation chip only needs to use SVP, VFI and NHI, then only these three fields will be defined in the stacking header. When the stacking implementation solution on the second-generation chip changes:
[0004] 1. If DVP is also needed on the downstream device of the second-generation chip, the stacking header information is insufficient, resulting in incompatibility between the first-generation and second-generation chips. The stacking protocol must also be updated between the second-generation chips before they can be stacked;
[0005] 2. If only SVP and VFI are used on the downstream devices of the second-generation chip and NHI is no longer needed, NHI will be transmitted more when the second-generation chips are stacked. This is a redundant field and causes bandwidth waste. Summary of the invention
[0006] The purpose of the present invention is to overcome one or more deficiencies of the prior art, to provide a method and system for enhancing stacking compatibility and reducing stacking bandwidth expansion, and to solve the incompatibility problems and bandwidth waste problems caused by changes in chip hardware implementation schemes under traditional stacking schemes.
[0007] The objective of the present invention is achieved through the following technical solutions:
[0008] A method for enhancing stack compatibility and reducing stack bandwidth expansion, the method comprising:
[0009] S1. Improved stack header definition method: Compared with the traditional stacking method, the stack header is divided into a fixed length part and a variable length part. The fixed length part includes a basic header, an option bitmap and a service header length, and the variable length part includes options and a service header.
[0010] S2. Improved stack header editing method: Improved stack header editing method: Based on the improved stack header definition, compared with the traditional stacking method, the options and service headers are selected according to the options and service header configuration registers corresponding to the specific service forwarding type, and edited into the stack header;
[0011] S3. Make a judgment: If the chip forwarding service stacking solution changes and requires the transmission of additional information, modify the register configuration to add a transmission option or service header to solve the incompatibility problem;
[0012] S4. Make a judgment: If the change in the chip forwarding service stacking solution causes redundant information to be transmitted, modify the register configuration to reduce the transmission options or service headers, so as to solve the bandwidth waste problem.
[0013] Furthermore, in the S1, in the improved stacking header definition method, the stacking header is divided into two parts, a fixed length and a variable length, wherein the information to be used in various types of service forwarding processes is abstracted and defined as option fields or service header fields. A bitmap is used to indicate which option fields and service header fields are carried in the stacking header. The order of options is fixed and corresponds one-to-one to the bit order defined in the bitmap. If a service header still exists, the service header is always located after all options.
[0014] Further, in S2, the stack header editing method has the following specific steps: define N+1 option configuration registers, named OPTION_CFG_REG_[n], n corresponds to services 0 to N, bit 0 to bit M in each option configuration register correspond to options 0 to M one by one, bit M+1 corresponds to the service header, if the processing flow of service n itself uses option m, then option m of service n is called valid; if the processing flow of service n itself uses unique information, then the service header of service n is called valid;
[0015] S31 confirms the current service n, the option number defined in the current stack header format is 0 to M, edit the basic header in the stack header, and start editing the option bitmap and variable length part from m = 0;
[0016] S32. Determine whether option M of service n is valid. If it is valid and bit m in the option and service header configuration register of service n is 1, bit M in the option bitmap is set to 1, and the variable length part increases the content of option M;
[0017] S33. Determine whether m is less than M. If m is less than M, execute m++, where m++ is incremented by one. For example, if m is 3, then m++ is 4, and then continue to execute step S32; otherwise, execute S34;
[0018] S34. Determine whether the service header of service n is valid. If it is valid and the M+1 bit in OPTION_CFG_REG_[n] is 1, fill in the service header length, and add the service header content to the variable length part, and the stack header is edited; otherwise, the service header length is set to 0, and the stack header is edited.
[0019] A system for enhancing stack compatibility and reducing stack bandwidth expansion is provided, the system is used to execute and apply an improved stack head definition mode and an improved stack head editing mode and a corresponding method, the system comprises: an improved stack head definition system and an improved stack head editing system;
[0020] The improved stack header definition system includes a basic header, an option bitmap, a service header length, an option and a service header. In the stack header definition system, the stack header is divided into two parts, a fixed length and a variable length. The basic header, the option bitmap and the service header length are fixed lengths, and the option and the service header are variable lengths.
[0021] In the stack header definition system, all services are encoded in sequence, starting from service 0 and then to service N. Information that exists in all services from service 0 to service N and needs to be transmitted to the subsequent equipment is defined as a basic header, such as the source board number and the source port number; some common information used by multiple services is defined as options; whether to carry options is defined as an option bitmap; information unique to each service is defined as a service header; the length of the service header is defined as the service header length;
[0022] Improved stack header editing system: when editing a stack header on a stack system inlet device, the system selects options and service headers according to the options and service header configuration registers corresponding to the specific service forwarding type, and edits them into the stack header.
[0023] The beneficial effects of the present invention are:
[0024] (1) When the chip version is updated, the stacking implementation scheme can be modified based on the current chip's resource considerations, implementation difficulty and other factors without worrying about chip stacking compatibility issues;
[0025] (2) When the chip version is updated, the redundant stack head option can be turned off through register configuration without modifying the stack protocol to save bandwidth on the stack port. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Figure 1 This is a schematic diagram of stack system message forwarding;
[0027] Figure 2 A format diagram for stacking header definition;
[0028] Figure 3 A flow chart of the operation method of the improved stacking head definition method and stacking head editing method;
[0029] Figure 4 It is the operation flow chart of stacking head editing mode; DETAILED DESCRIPTION
[0030] The technical solution of the present invention will be clearly and completely described below in conjunction with the embodiments. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0031] See also Figure 1 , multiple switching devices form a stacking system through cables, which is presented as a single switching device. The switching devices in the stacking system forward and receive stacking messages through the stacking ports. The stacking message consists of the original message plus the stacking header. The stacking header carries information obtained by the previous device and passed to the next device for processing. Since the stacking header is additional information in addition to the original message, the bandwidth will expand when the message entering from the ordinary port is sent to the stacking port.
[0032] When defining the contents of the stack header in traditional stacking solutions, the specific hardware implementation solutions on the switching chip of each device are usually used to determine what information to carry when various forwarding services are forwarded across devices in the stacking system. For example, for MPLS VPLS services, SVP and VFI must be obtained for learning in the encapsulation scenario. When the message is unicast forwarded, DVP and NHI will be searched to obtain egress information and outer header information to be used for encapsulation. Assuming that the hardware implementation on the current chip only looks up the information SVP, VFI, DVP and NHI on the ingress device due to resource or other considerations, and the subsequent devices cannot obtain the information by themselves but need to use SVP, VFI and NHI, then SVP, VFI and NHI will be defined in the stack header and are only valid when MPLS VPLS services are used. After the stack header is defined in the stacking solution, the format is usually fixed. When the chip is replaced, the stack header format will not be modified at will to consider compatibility with the previous generation stack.
[0033] It mainly includes: Ingress device: the device where the message ingress is located in the stacking system. It is the device role when the message is forwarded in the stacking system, and does not specifically refer to a certain device; Post-stage device: the device in the stacking system that receives the stacking message and continues to process it, including intermediate devices and devices at the egress; SVP (Source Virtual Port): source virtual port; VFI (Virtual Forwarding Instance): virtual forwarding instance; DVP (Destination Virtual Port): destination virtual port; NHI (Next Hop Index): next hop index.
[0034] This embodiment improves the stacking head method, and the specific solution is as follows:
[0035] The improved stack header definition method divides the stack header into two parts: fixed length and variable length. The information used in various business forwarding processes is abstracted and defined as option fields or business header fields. The bitmap is used to indicate which option fields and business header fields are carried in the stack header. The order of options is fixed and corresponds to the bit order defined in the bitmap. If there is a business header, it is always located after all options.
[0036] The improved stack header editing method is to decide which options and service headers to edit into the stack header according to the options and service header configuration register corresponding to the specific service forwarding type when editing the stack header on the ingress device.
[0037] See also Figure 2 , the improved stack header format is defined as follows:
[0038] Assume that the services supported by the current switch chip include L2 forwarding, L3 routing, MPLS VPLS tunnels, and VXLAN;
[0039] Fixed-length part: All services are encoded as service 0, service 1, and service 2, and so on to service N. For example, the MPLS VPLS encapsulation service can be defined as service 10. The information that exists in all services and needs to be transmitted to the downstream equipment is defined in the basic header, such as the source board number and the source port number. The basic header belongs to the fixed-length part.
[0040] Variable-length part: some common information used by multiple services, such as SVP, VFI, DVP and NHI used by MPLS, VPLS and VXLAN, is defined as options and encoded as option 0, option 1, option 2 and option 3, and then option M. The information unique to each service is defined as the service header corresponding to each service. These options and service headers belong to the variable-length part.
[0041] In the fixed length part of the stack header, first define an option bitmap with a length of M+1 bits. When bit 0 in the option bitmap is set to 1, it indicates that option 0 exists, when bit 1 is set to 1, it indicates that option 1 exists, and so on. After the option bitmap, define the service header length field, and a length of 0 indicates that the service header does not exist.
[0042] See also Figure 3 , the improved stacking head definition method and stacking head editing method, the method steps include:
[0043] S1. Improve the stack header definition method: divide the stack header into a fixed length part and a variable length part;
[0044] S2. Improved stack header editing mode: Select options and service headers according to the options and service header configuration registers corresponding to the specific service forwarding type, and edit them into the stack header;
[0045] S3. If the chip forwarding service stacking solution changes and requires the transmission of additional information, modify the register configuration to add a transmission option or service header;
[0046] S4. If the chip forwarding service stacking solution changes and causes redundant information to be transmitted, modify the register to reduce the transmission options or service headers.
[0047] See also Figure 4 , The specific steps of stack header editing mode are as follows: define N+1 option configuration registers, named OPTION_CFG_REG_[n], n corresponds to service 0 to service N, bit 0 to bit M in each option configuration register corresponds to option 0 to option M one by one, bit M+1 corresponds to the service header, if the processing flow of service n itself will use option m, then option m of service n is called valid; if the processing flow of service n itself will use some unique information, then the service header of service n is called valid;
[0048] S31 confirms the current service n, the option number defined in the current stack header format is 0 to M, edit the basic header in the stack header, and start editing the option bitmap and variable length part from m = 0;
[0049] S32. Determine whether option m of service n is valid. If it is valid and bit m in the option and service header configuration register of service n is 1, bit m in the option bitmap is set to 1, and the variable length part increases the content of option m;
[0050] S33. Determine whether m is less than M. If m is less than M, execute m++, where m++ is incremented by one. For example, if m is 3, then m++ is 4, and then continue to execute step S32; otherwise, execute S34;
[0051] S34. Determine whether the service header of service n is valid. If it is valid and the M+1 bit in OPTION_CFG_REG_[n] is 1, fill in the service header length, and add the service header content to the variable length part, and the stack header is edited; otherwise, the service header length is set to 0, and the stack header is edited.
[0052] For example, for an MPLS VPLS encapsulation service, the service number is 10. The service process itself uses SVP, VFI, DVP, and NHI, and the service has some other unique information. Therefore, options 0, 1, 2, and 3 are valid, and the service header is valid. At this time, by configuring bits 0, 1, 3, and M+1 in the register OPTION_CFG_REG_
[10] to 1 and bit 2 to 0, the stack header can carry SVP, VFI, NHI, and the service header, but not DVP. After modifying bit 2 in OPTION_CFG_REG_
[10] to 1, DVP can be added to the stack header.
[0053] Through the embodiments, the improved stacking head definition method and the improved stacking head editing method, as well as the operation method, have the following differences and advantages compared with the traditional stacking system:
[0054] 1. The stack header has a variable length. The stack header is divided into a fixed length part and a variable length part. The variable length part can carry necessary information according to the needs of the forwarding service itself, reducing the bandwidth expansion caused by redundant information.
[0055] 2. The stacking head option definition is abstracted from the hardware implementation of the business process, and does not depend on the hardware implementation of the stacking solution. The hardware implementation of the business process or the key information involved in the implementation is generally stable and will not change significantly due to the update of the chip version, so the abstracted option information is stable;
[0056] 3. Whether the stacking header carries options and service headers is determined by software configuration. Therefore, when the hardware implementation of the stacking solution changes, the software configuration options and service header registers can be used to pass sufficient stacking information to the subsequent devices.
[0057] By using the improved stacking head definition method and the improved stacking head editing method, when the chip version is updated, the stacking implementation plan can be modified based on the resource considerations, implementation difficulty and other factors of the current chip without worrying about stacking compatibility issues of the chip; when the chip version is updated, the redundant stacking head option can be turned off through register configuration without modifying the stacking protocol, thereby saving bandwidth on the stacking port.
[0058] The above is only a preferred embodiment of the present invention. It should be understood that the present invention is not limited to the form disclosed herein, and should not be regarded as excluding other embodiments, but can be used in various other combinations, modifications and environments, and can be modified within the scope of the concept described herein through the above teachings or the technology or knowledge of the relevant field. The changes and modifications made by those skilled in the art shall not deviate from the spirit and scope of the present invention, and shall be within the scope of protection of the claims attached to the present invention.
Claims
1. A method for enhancing stack compatibility and reducing stack bandwidth expansion, characterized in that: The method includes: S1. Stack header definition: The stack header is divided into a fixed length part and a variable length part. The fixed length part includes the basic header, option bitmap and service header length, and the variable length part includes options and service header; S2 stack header editing mode: Based on the stack header definition mode, select options and business headers according to the options and business header configuration registers corresponding to the specific business forwarding type, and edit them into the stack header; S3. If the chip forwarding service stacking solution changes and requires the transmission of additional information, modify the register configuration to add a transmission option or service header; S4. If the chip forwarding service stacking scheme changes and causes redundant information to be transmitted, modify the register configuration to reduce the transmission options or service headers; The specific steps are as follows: in S2, the stack header editing method has the following specific steps: defining N+1 option configuration registers, named OPTION_CFG_REG_[n], where n corresponds to services 0 to N, and bits 0 to M in each option configuration register correspond to options 0 to M one by one, and bit M+1 corresponds to the service header. If the processing flow of service n itself uses option m, option m of service n is called valid; if the processing flow of service n itself uses some unique information, the service header of service n is called valid; S31 confirms the current business n, the option number defined in the current stack header format is 0 to M, edit the basic header in the stack header, and start editing the option bitmap and variable length part from m = 0; S32. Determine whether option m of service n is valid. If it is valid and bit m in the option and service header configuration register of service n is 1, bit m in the option bitmap is set to 1, and the variable length part increases the content of option m; S33. Determine whether m is less than M. If m is less than M, execute m++, where m++ is incremented by one, and then continue to execute step S32; otherwise, execute S34; S34. Determine whether the service header of service n is valid. If it is valid and the M+1 bit in OPTION_CFG_REG_[n] is 1, fill in the service header length, and add the service header content to the variable length part, and complete the stack header editing; otherwise, after the service header length is set to 0, the stack header editing is completed; In the stacking header definition method, all services are encoded in sequence, starting from service 0 and then encoded to service N; information that exists in all services from service 0 to service N and needs to be transmitted to the subsequent equipment is defined as a basic header; some common information that will be used by multiple services is defined as options; whether to carry options is defined as an option bitmap; information unique to each service is defined as a service header; the length of the service header is defined as the service header length.
2. A method for enhancing stack compatibility and reducing stack bandwidth expansion according to claim 1, characterized in that: In the S1, in the stacking header definition method, the stacking header is divided into two parts, a fixed length and a variable length. The information used in various business forwarding processes is abstracted and defined as an option field or a business header field. A bitmap is used to indicate which option fields and business header fields are carried in the stacking header. The order of options is fixed and corresponds one-to-one to the bit order defined in the bitmap. If there is still a business header, the business header is always located after all options.
3. A system for enhancing stack compatibility and reducing stack bandwidth expansion, the system being used to execute the method according to any one of claims 1-2, characterized in that: The system includes: a stacking head definition system and a stacking head editing system; Stack header definition system: including basic header, option bitmap, service header length, options and service header. In the stack header definition system, the stack header is divided into two parts: fixed length and variable length. The basic header, option bitmap and service header length are fixed lengths, and the options and service header are variable lengths. The information that exists in all services and needs to be transmitted to the subsequent equipment is defined as the basic header; some common information that will be used by multiple services is defined as options; and the information that is unique to each service is defined as the service header. Stack header editing system: used to edit the stack header on the stack entry device, select options and service headers according to the options and service header configuration registers corresponding to the specific service forwarding type, and edit them into the stack header.
Citation Information
Patent Citations
Method for realizing variable-length stacked head in stack system and device thereof
CN106533991A
Method and device for realizing MACsec in chip stacking mode
CN110830393A