ORDERLY STACKING WITH LESS MANUAL INTERVENTION
The method automates the formation of an ordered stack using FPS technology by determining switch membership and assigning IDs based on connection order, reducing manual intervention and enhancing maintenance efficiency.
Patent Information
- Application Number
- DE102022108386
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-09-22
- Filing Date
- 2022-04-07
- Publication Date
- 2025-08-07
- Estimated Expiration
- 2042-04-07
AI Technical Summary
Conventional automatic stacking methods for network switches result in unordered stacks, requiring significant manual intervention for rearrangement, which is costly and time-consuming.
A method for forming an ordered stack using Front Plane Stacking (FPS) technology that automatically determines switch membership and assigns IDs based on connection order, allowing for seamless integration without manual configuration, using a stack control node to send default configurations to switches.
Enables the formation of an ordered stack with reduced manual intervention, simplifying maintenance and reducing time and effort in switch setup.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND
[0001] This disclosure generally relates to forming a stack of switches using front plane stacking (FPS). More specifically, this disclosure relates to a system and method that facilitates the formation of an ordered stack with less manual intervention.
[0002] US 2015 / 0 085 704 A1 relates generally to the field of network switches and in particular to the virtual stacking of network switches.
[0003] US 2014 / 0 362 709 A1 relates to information processing systems and in particular to the selection of the basic topology in networks.
[0004] US 2019 / 0 044 848 A1 refers to a virtual switching system.
[0005] Against this background, the present invention provides a method according to independent claims 1 and 7, as well as a computer system according to independent claim 13. Embodiments are subject of the respective dependent claims. BRIEF DESCRIPTION OF THE CHARACTERS Fig. shows a virtual switching framework (VSF) corresponding to an aspect of the application. Fig. shows a flowchart illustrating a method for automatic stack discovery and configuration according to one aspect of the application. Fig. shows a flowchart illustrating a method for automatic stack discovery and configuration according to one aspect of the application. Fig. shows a flowchart illustrating a method for automatic stack discovery and configuration according to one aspect of the application. Fig. shows a diagram illustrating the propagation of batch discovery packets and batch discovery response packets according to one aspect of the application. Fig. illustrates the format of a batch discovery package according to one aspect. Fig. illustrates the format of a batch discovery response packet according to one aspect. Fig. shows a flowchart illustrating the stack detection process performed on a ladder switch according to one aspect of the invention. Fig. shows a flowchart illustrating the stack detection process performed on a ladder switch according to one aspect of the invention. Fig. shows a flowchart illustrating the method for assigning member IDs according to one aspect of the invention. Fig. shows a block diagram of a switch capable of performing automatic stacking according to one aspect of the application. Fig. illustrates a computer system that facilitates the automatic discovery and configuration of a stack according to an aspect of the application.
[0006] In the figures, the same numbers refer to the same figure elements. DETAILED DESCRIPTION
[0007] The following description is intended to enable any person skilled in the art to make and use the examples and is given in the context of a specific application and its requirements. Various modifications to the disclosed examples will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other examples and applications. Therefore, the scope of the present disclosure is not limited to the examples shown, but is intended to maintain the widest possible scope consistent with the principles and features disclosed herein. Front Plane Stacking (FPS) is a network virtualization technology that virtualizes multiple physical switches in the same layer into a Virtual Switching Framework (VSF) stack to provide resiliency, scalability, and increased bandwidth.FPS enables supported switches (members) to be interconnected via dedicated point-to-point links (e.g., Ethernet links) called FPS links. These links can carry encapsulated data plane traffic and also exchange control plane traffic, which helps the stack maintain its topology and state so it behaves as a single logical switch. In this disclosure, the terms FPS and VSF may be used interchangeably. A stack of switches may be referred to as an FPS stack or a VSF stack. Likewise, the links that carry the stack traffic may be referred to as FPS links or VSF links.
[0008] Conventional methods for automatic stack formation often result in switches being numbered out of order, which can complicate further maintenance. Reordering switches requires a significant degree of human intervention, which can be costly and time-consuming. The present disclosure provides a solution to the problem of forming an ordered stack using FPS technology with less manual intervention. Specifically, an ordered stack can be formed automatically after the installer physically connects the switches via cables, without further manual configuration of the individual switches. According to one aspect of the application, a default stack configuration can be automatically generated by a selected stack control node and sent to the member switches in the stack.According to an alternative aspect, the stack configuration may be downloaded by the selected stack control node from a remote network management server and then sent by the stack control node to the peer switch nodes. To ensure that an ordered stack can be formed, the stack control node discovers the member switches in a predetermined order (e.g., in the order in which they are connected) and also assigns member IDs to the member switches according to the predetermined order. To discover the next member switch, the stack control node announces a stack discovery or peer discovery packet over a predetermined interface (which may be a standard interface or an interface specified by the received stack configuration file) and receives a stack discovery response or peer discovery response packet from a connected switch in response.This process can be repeated on each discovered member switch until all member switches in the stack are discovered sequentially in the order in which they were connected. For each discovered member switch, the stack control node assigns a member ID (which can be a numeric ID) and exchanges configuration information with the member switch. In one example, the member IDs are also assigned to the discovered member switches according to a predetermined order (e.g., from bottom to top). After all members have been discovered by the stack control node, the stack control node can send control packets to the members, causing them to reboot to apply the stack configuration.
[0009] Fig. shows a Virtual Switching Framework (VSF) stack according to one aspect of the application. In this example, a VSF stack 100 may include four switches, namely switches 102, 104, 106, and 108. These four switches are stacked on top of each other and connected via FPS, i.e., they are connected with standard Ethernet cables via standard Ethernet ports. In the Fig. In the example shown in Figure 1, the four switches form a ring. More specifically, a cable 112 connects a port of switch 102 to a port of switch 104; a cable 114 connects a port of switch 104 to a port of switch 106; a cable 116 connects a port of switch 106 to a port of switch 108; and a cable 118 connects a port of switch 108 to a port of switch 102. The VSF stack 100 may also be referred to as a virtual chassis.
[0010] Of the four switches, switch 102 is located at the top of the stack and is selected as the stack control node (also called the leader switch or simply the leader) of stack 100, switch 104 is selected as the standby switch, and switches 106 and 108 are member switches of stack 100. A stack control node, or leader, in a stack runs the control and management plane protocols. More specifically, the leader may be responsible for managing the databases, synchronizing them with the standby node, and controlling all line cards, including those of the standby node and the members. A standby switch is a stateful backup device for the leader switch and can assume control of the stack if the leader is removed. This allows the stack to continue operating seamlessly even if the leader is removed or fails.All devices in the stack, except for the leader switch and the standby switch, are referred to as member switches or simply members. A member switch executes no network protocol and has no state. All ports on the member switch are controlled and programmed directly by the leader switch. If a standby switch assumes the role of the leader, or a new standby switch is needed, a member switch can be upgraded to assume the role of the standby switch.
[0011] In the Fig. In the example shown, stack 100 is considered an ordered stack, where the switches are numbered according to the order of their stack connections. In this particular example, the switches are connected from top to bottom, and the member IDs increase by one from top to bottom of the stack, with the topmost switch (switch 102) having a member ID of 001 and the bottommost switch (switch 108) having a member ID of 004. Forming the stack in the correct order can be helpful for future maintenance. For example, a network administrator 120 can monitor and manage stack 100 by accessing a network management server 122 connected to stack 100 over a network 110. Based on network monitoring data, network administrator 120 can determine that a switch with a member ID of 003 is faulty and should be replaced.Network administrator 120 can send a work order to a maintenance person (e.g., installer 124) responsible for physically disconnecting and connecting cables to replace the switch. Because the switches are numbered sequentially, installer 124 can locate the switch to be replaced with little effort. In this example, if installer 124 is instructed to replace a switch with member number 003, they can simply count to three from the top switch to find the third switch (i.e., switch 106) to be replaced, and then disconnect the identified switch and connect a new switch.
[0012] With existing FPS solutions, a stack can be formed when the network administrator 120 explicitly logs into each individual switch to configure the stack and then instructs the installer 124 to physically connect the cables to form a stack with the specified size and topology. To reduce the amount of user intervention (e.g., the involvement of the administrator 120), some manufacturers offer automatic stacking solutions that allow a stack to be formed automatically when an installer connects the cables and powers up the switches. However, these existing automatic stacking solutions have several disadvantages. One problem is that the automatically formed stacks cannot be ordered because there is no built-in mechanism to ensure the formation of an ordered stack. Instead of the element IDs ascending from 001 to 004 from the topmost switch to the bottommost switch, as in Fig. As shown, the element IDs may be random (e.g., from top to bottom, the element IDs may be 001-003-002-004). To correct this, the installer must log in to each switch to renumber them, defeating the purpose of auto-stacking. To achieve an ordered stack, existing auto-stacking solutions expect the installer to physically connect the cable, power up each switch, and wait for that switch to join the stack before adding another switch. This requires a lot of user intervention and can take a very long time to achieve an ordered stack.
[0013] Existing auto-stacking solutions do not provide a way to pre-designate a switch as the leader. The auto-stacking process designates a switch as the leader based on a vendor-specific algorithm. Furthermore, these auto-stacking solutions can complicate stack onboarding workflows that use network management tools. During the stacking process, numerous interactions and dependencies can arise between the network administrator and the installer, which can hinder the mass deployment of stacks. To facilitate auto-stacking, some vendors also support FPS with dedicated connections by designating specific ports as FPS ports. Manual intervention (e.g., via a command-line interface (CLI) or management server) often converts these designated FPS ports back to regular ports.
[0014] This disclosure provides an auto-stacking solution that can form an ordered stack without causing the above-mentioned problems. According to one aspect, stack configurations can be made in advance using a network management tool (e.g., a network management server), enabling mass deployment of stacks. Using the example of the Fig. Stack 100 shown: When the installer 124 connects the switches 102-108 via cables 112-118 and connects the uplink of stack 100 to the network 110, the stack configurations can be downloaded from the network management server 122 (e.g., in the form of a configuration file). Each switch, including the ladder switch 102, can include an automatic stack discovery unit 126 and an automatic stack configuration unit 128. When the stack configurations are downloaded from the network management server 122, the automatic stack discovery unit 126 and the automatic stack configuration unit 128 can automatically perform the stack discovery and configuration processes to form a stack in the correct order, without requiring user intervention.In such a case, the installer 124 only needs to connect the cables in the order specified by the configuration, connect the uplink, power on the switches, and leave the cabinet containing the switches. The installer 124 does not need to remain in the cabinet to wire the switches individually. This solution can significantly reduce the number of user interventions and the time required to form an orderly stack.
[0015] In addition to connecting switches sequentially based on their physical stacking order, the stacking configuration can also specify a different switch connection pattern. For example, the stacking configuration can specify that a switch should not be connected to a neighboring switch, but rather to the next switch (e.g., switch 102 should be connected to switch 106, switch 104 to switch 108, etc.). Accordingly, the installer 124 would receive the appropriate installation instructions and connect the switches according to the instructions. In addition to specifying the connection pattern between the switches, the stacking configuration can also specify the VSF ports on each switch to establish the VSF connections. It should be noted that a VSF link is a logical interface that connects VSF member devices (i.e., switches in the stack) together.The VSF link carries encapsulated data plane traffic as well as control plane traffic, which helps the VSF stack maintain its topology and state. When connecting the switches, installer 124 can connect the switches using the specified ports. For example, installer 124 can be instructed to connect port 2 of switch 102 to port 1 of switch 104 and port 2 of switch 104 to port 1 of switch 106.
[0016] In an alternative aspect, instead of downloading the stack configurations from the network management server, the ordered stack 100 may be formed according to a default stack configuration in response to the installer 124 manually selecting a switch (e.g., switch 102) as the leader.
[0017] For example, each switch may be equipped with a mode selection button. When the installer 124 presses the mode selection button of a particular switch, that switch may be configured to operate in ladder mode (e.g., as a ladder). Furthermore, the automatic stack detection unit 126 and the automatic stack configuration unit 128 may automatically perform stack detection and configuration based on the default configuration in response to determining that the mode selection button has been pressed. Fig. In the example shown, the default stacking configuration may be such that the installer 124 selects the topmost switch (e.g., switch 102) as the leader (e.g., by pressing its mode selection button), and the switches are numbered from top to bottom. Depending on the implementation, the default stacking configuration may also specify that the installer 124 selects the bottommost switch (e.g., switch 108) as the leader, and the switches are numbered from bottom to top. Alternatively, the installer 124 may be instructed to select any switch as the leader, and the switches are numbered incrementally in a predetermined direction, starting from the selected switch. For example, the installer 124 may select switch 104 as the leader. Starting from switch 104 to the bottom of stack 100 and then back to the top, switches 104, 106, 108, and 102 can have incremental IDs such as 001, 002, 003, and 004, respectively.In another example, installer 124 may select switch 106 as the leader. Starting from switch 106, working to the top of stack 100 and then back to the bottom, switches 106, 104, 102, and 108 may have incremental member IDs such as 001, 002, 003, and 004, respectively. The scope of this disclosure is not limited by the exact order of switches in the stack, as long as the switches are numbered in a predetermined order (either according to a user-defined configuration or a default order).
[0018] If the default configuration is used (e.g., when no configuration needs to be downloaded from the network management server), the installer 124 can connect the switches according to a predetermined standard sequence. For example, each middle switch can be connected to its neighboring switches, and the upper and lower switches are connected to each other, as shown in Fig. shown. When using the standard configuration, the switches can also be connected to each other via their standard interfaces, which have been preconfigured for operation as VSF interfaces. For example, all switches can have their ports 1 and 2 as VSF ports. Accordingly, when connecting the switches, the installer plugs the interconnect cables into the standard VSF ports.
[0019] Fig. shows a flowchart illustrating a process for automatic stack discovery and configuration according to one aspect of the application. In this example, the standard stack configuration is used. During operation, a cable installer manually connects a series of switches via the standard interfaces on each switch (operation 202). In one example, the switches may be connected according to a predetermined topology, such as a ring topology or a line topology. Since there is no predetermined configuration, the installer may choose any connection scheme. According to one aspect, when using the standard stack configuration, the installer may connect the switches according to the physical stacking order of the switches. For example, if the switches are stacked vertically, the cable installer may connect the switches one at a time according to the vertical order (i.e.,(Top to bottom or bottom to top). If the switches are stacked horizontally, the cable installer can connect the switches one at a time according to the horizontal order (i.e., left to right or right to left). Connecting the switches according to their stacking order can simplify the maintenance process.
[0020] After connecting all switches, the cable installer can select a switch as the ladder switch by pressing the mode select button on the front panel of the selected switch (Operation 204). Note that the installer can select any switch as the ladder switch. In one example, the installer can select a switch at the end of a switch stack (e.g., the top / bottom switch or the leftmost / rightmost switch) as the ladder. Pressing the mode select button can trigger automatic configuration of the FPS connections on the default interface. In one aspect, pressing the button can also trigger automatic configuration of a default standby switch (e.g., a switch directly coupled to the ladder at its default FPS interface).
[0021] If it is determined that the mode selection button is pressed and the FPS connections are configured, the automatic stack discovery unit in the conductor may initiate the stack discovery process to discover a member switch (operation 206). According to one aspect, the member switches may be discovered sequentially according to a predetermined order (e.g., according to their connection order). The conductor assigns a member ID to each discovered member (operation 208). According to one aspect, the member IDs may be assigned according to the order in which they are discovered. For example, switches discovered earlier may be assigned lower member IDs (or member IDs with smaller numerical values), while switches discovered later may be assigned higher member IDs (or member IDs with larger numerical values). The conductor also exchanges stack information with a discovered member (operation 210).For example, the leader can send a control packet containing the stack configuration and receive a response from the discovered switch. When exchanging stack information, the FPS link configuration currently configured on the leader switch (for all members) is also exchanged.
[0022] The leader can determine whether all members of the stack have been discovered (operation 212). If not, the stack discovery process proceeds to discover new switches (operation 206). Specifically, the stack discovery process can be executed on each discovered switch to allow a newly discovered switch to discover an additional member switch. Once all members have been discovered, the leader can send a control packet to each discovered switch to reboot the switch (operation 214). Specifically, the control packet can instruct the member switch to reboot with the received stack configurations and join the stack with the specific assigned role. During the reboot, for example, the automatic stack configuration unit on each switch can apply the stack configurations (including configuring the FPS interfaces and links).In one aspect, the leader can send the control packet from one switch to another, starting with the farthest switch. In another example, a control packet is sent continuously until a response to a previous control packet is received. This ensures that all members restart essentially simultaneously, optimizing batching time.
[0023] Fig. shows a flowchart illustrating a process for automatic stack discovery and configuration according to one aspect of the application. In this example, the stack configuration was previously created by a network administrator. Specifically, the stack configuration may specify which of a plurality of switches is the leader switch. The stack configuration may also specify which ports on each switch should be used as FPS ports. During operation, a cable installer manually connects a series of switches according to a predetermined connection pattern (operation 222). The connection pattern is predetermined by the stack configuration. For example, the stack configuration may specify that a specific port on a specific switch should be connected to another specific port on another specific switch.
[0024] After connecting all switches, the cable installer can connect the uplink to the network and exit the switch cabinet without performing manual configuration (Procedure 224). Note that in this case, the installer does not need to press any buttons.
[0025] Once the external network management server detects that the switches are connected, the external network management server identifies the leader switch based on the stack configuration and the serial number or MAC address of the leader switch and sends a command to the leader switch (operation 226). Specifically, the network administrator can specify the serial number or MAC address of a switch, referred to as the leader, in the configuration file. The external network management server can then identify a switch with the corresponding serial number or MAC address among the connected switches as the leader switch. Upon receiving the command, the leader switch downloads the stack configuration file from the network management server (operation 228).After completing the stack configuration file download, the leader may initiate the stack discovery process to discover a member switch (operation 230) and assign a member ID to the discovered member switch (operation 232). In one aspect, the member switches may be discovered sequentially according to their connection order, which is predetermined based on the stack configuration. Furthermore, the member IDs may be assigned according to the stack configuration, which may specify the member ID of each switch. The leader also exchanges stack information with a discovered member (operation 234). For example, the leader may send a control packet specifying the stack configuration and receive a response from the discovered switch.When the stack information is exchanged between the leader and a switch, the FPS link configuration is also exchanged for all members currently configured on the leader switch.
[0026] The leader can determine whether all members of the stack have been discovered (operation 236). If not, the stack discovery process continues to discover new switches (operation 230). When all members have been discovered, the leader can send a control packet to each discovered switch to restart the switch (operation 238). The leader can send the control packet to one switch at a time, starting with the farthest switch. In one example, a control packet is sent until a response to a previous control packet is received. This ensures that all members restart essentially at the same time, optimizing stack formation time.
[0027] Most processes in Fig. and Fig. are performed by the leader switch, such as initializing the batch discovery process, assigning member IDs to member switches, and sending control packets to member switches. Each member switch can perform a different process. Fig. shows a flowchart illustrating a process for automatic stack discovery and configuration according to one aspect of the application. During operation, a cable installer manually connects a series of switches through the standard interfaces on each switch (operation 302). Then, a member switch (i.e., a switch not selected as a leader) waits for a control packet specifying the VSF configurations (operation 304). The control packet is sent by the selected leader. The received VSF configurations may include the member ID assigned to the member switch. After receiving the VSF configurations, the member switch may configure the FPS links accordingly (operation 306) and participate in the stack discovery process (operation 308).Once the FPS connections are configured on the member switch, the member switch can discover additional member switches and forward information about the newly discovered members to the leader. The member switch waits for a reboot control packet from the leader (operation 310). In response to receiving the reboot control packet, the member switch reboots with the received VSF configurations, completing the stack joining process (operation 312).
[0028] To discover a member, the leader can announce a batch discovery packet (e.g., a "hello" packet) on an FPS-enabled interface (which can be a standard interface) and wait for a response. Once a member has been discovered (i.e., the member has been assigned a member ID by the leader), the discovered member can participate in the batch discovery process by advertising its own batch discovery packets and receiving batch discovery response packets.
[0029] Fig. shows a diagram illustrating the propagation of the batch detection packets and the batch detection response packets according to one aspect of the application. In Fig. A stack 400 to be formed comprises four connected switches, a leader 402, and elements 404, 406, and 408. These four switches form a ring. According to one aspect of the application, the leader 402, in response to detecting that it has been selected as a leader (e.g., by detecting that the node selection button has been pressed), may initiate the stack discovery process by sending a stack discovery packet to a connected peer switch over a specific FPS interface. Note that the FPS interface may be a standard port or a port specified by the stack configuration received from a network management server. Since the leader switch 402 has two FPS interfaces, member discovery may occur over both interfaces. In the Fig. In the ring topology illustrated, conductor 402 may discover the last switch (e.g., switch 408) faster than other middle switches (e.g., switch 406) and may prematurely assign a member number to the end switch. This may result in the stack being formed with out-of-order member numbers. To avoid such a situation, according to one aspect, discovery is only allowed in a predetermined direction. More specifically, the stack discovery packet can only be sent on a predetermined interface of the pair of designated FPS interfaces. According to one aspect, the stack discovery packet can only be sent over an interface with a higher designation (e.g., the port with the higher number). For example, port 1 and port 2 are the default FPS ports of conductor 402. Instead of sending the stack discovery packet to port 1 or both ports, conductor 402 always sends the stack discovery packet to port 2.According to an alternative aspect, the stack discovery packet can only be sent to a lower-labeled interface (e.g., the lower-numbered port). Since discovery of member switches is only permitted in one direction, the stack can be formed with deterministic member numbers. In the example shown in . Fig. In the example shown, leader 402 sends the "hello" packet not to member 408, but to member 404. Consequently, member switches are discovered in a clockwise direction (i.e., member 404 is discovered first, followed by the discovery of member 406 and member 408).
[0030] A batch discovery packet (also called a "hello" packet) can contain information about the sender and the recipient of the packet. Fig. 5 illustrates the format of a stack discovery packet according to one aspect. The stack discovery or "hello" packet 500 may include a packet type field 502, a sender MAC address field 504, a sender product type field 506, a conductor designation field 508, a sender autostacking eligibility field 510, a destination MAC address field 512, a member information field 514, and a hop count field 516.
[0031] The packet type field 502 specifies the packet type. In this case, field 502 indicates that the packet is a stack discovery packet. The sender MAC address field specifies the Media Access Control (MAC) address of the device sending the "hello" packet 500. The MAC address can uniquely identify the switch sending the "hello" packet. The sender product type field 506 specifies the product type of the switch. This information is useful for preventing the formation of a stack that includes incompatible switches. The leader designation field 508 indicates whether or not the device sending the "hello" packet is a designated leader. The sender autostacking suitability field specifies whether the sender of the "hello" packet is suitable for automatic stacking. This field can be used to distinguish switches configured for automatic stacking from switches shipped from the factory.
[0032] The destination MAC address field 512 specifies the MAC address of the destination of the "hello" packet, and the member information field 514 contains information about a discovered member, including the member identifier and the FPS connections associated with the member. When the leader sends a first "hello" packet, the destination MAC address 512 and the member information field 514 remain empty. The hop count field 516 specifies the number of hops the "hello" packet 500 takes before being processed. Each time the "hello" packet 500 is forwarded, the hop count is incremented by one.
[0033] Back to Fig. : Leader 402 announces a first "hello" packet, which is received by switch 404. After receiving the "hello" packet, switch 404 checks the destination MAC address field. If the field is empty, switch 404 processes the "hello" packet and responds with a "hello_ack" packet. Fig. 5 illustrates the format of a stack discovery response packet according to one aspect. The stack discovery response or "hello_ack" packet 520 may include a packet type field 522, a sender MAC address field 524, a sender product type field 526, a conductor destination field 528, a sender autostacking eligibility field 530, a destination MAC address field 532, a member information acknowledgment field 534, and a hop count field 536.
[0034] Several fields in the "hello_ack" packet 520 are similar to the fields in the "hello" packet 500. These fields may contain information (e.g., MAC address, product type, etc.) specific to the switch sending the "hello_ack" packet (e.g., switch 404). When responding to the "hello" packet, switch 404 may use the MAC address of conductor 402 to populate the destination MAC address field 532. The "hello_ack" packet allows conductor 402 to learn the MAC address and device type of switch 404.
[0035] Back to Fig. : Once switch 404 has processed the first "hello" packet received from conductor 402 over one FPS port, switch 404 can forward the first "hello" packet to its other FPS port. In this example, the "hello" packet is forwarded to switch 406, which can also process the "hello" packet and respond with a "hello_ack" packet. The "hello_ack" packet from switch 406 can be received by switch 404 and then forwarded by switch 404 to conductor 402. The same process repeats at each switch, allowing the initial "hello" packet to propagate around the ring until it arrives at conductor 402, which does not respond to the "hello" packet. Since all switches respond to the "hello" packet with a "hello_ack" packet and all "hello_ack" packets arrive at conductor 402, conductor 402 can build the entire topology of the stack.For example, using the sender's MAC address and the number of hops in each "hello_ack" packet, conductor 402 can determine the connection pattern (or connection order) between the connected switches.
[0036] In addition to establishing the stack topology, conductor 402 may generate stack information (e.g., member ID and link configurations) for each member. In one aspect, conductor 402 may send targeted, member-specific information via additional "hello" packets. More specifically, the additional "hello" packet may have its destination MAC address field and member information field populated. The targeted switch (i.e., the switch's MAC address matches the destination MAC address) receives the additional "hello" packet and processes the stack member information contained in the additional "hello" packet. In one aspect, after processing the stack member information, the switch may also start a reboot timer. If no reboot packet is received from conductor 402 after the reboot timer expires, the switch may reboot itself based on the received configurations.
[0037] If a switch receives an additional "hello" packet that is not intended for it, the receiving switch can forward the additional "hello" packet on its FPS links. Note that all "hello" packets terminate on wire 402, thus avoiding loops. If a switch receives a forwarded packet originating from the same switch (based on the sender_MAC_address field), the switch drops the packet.
[0038] Fig. shows a flowchart illustrating the stack discovery process performed in a ladder switch according to one aspect of the invention. During operation, the automatic stack discovery unit on a ladder switch may identify the FPS-enabled interfaces (operation 602). As previously mentioned, when using the standard stack configuration, each switch has a pair of default interfaces for establishing FPS connections, and the ladder initiates discovery only through the FPS connections. Note that all FPS-enabled interfaces in each switch behave like normal ports until they receive control packets from the FPS connections.
[0039] The automatic stack discovery unit may advertise a stack discovery packet on a predetermined FPS-capable interface (operation 604). Depending on the implementation, the stack discovery packet may be advertised on a lower-order FPS interface or a higher-order FPS interface. The automatic stack discovery unit may then receive a corresponding stack discovery response packet from a peer switch, such as a neighboring switch directly connected to the circuit (operation 606). In response to receiving the stack discovery response packet, the automatic stack discovery unit may update the Open Virtual Switch Database (OVSDB) using information associated with the peer switch included in the stack discovery response packet (operation 608).The automatic batch discovery unit may then receive the member ID assigned to the peer switch (operation 610) and send the member ID to the peer switch, thereby completing the discovery of the peer switch (operation 612). In one aspect, a separate member ID assignment unit on the line may assign a member ID to the peer switch. The assignment of member IDs may occur in a predetermined order. The member ID may be sent to the peer switch with an additional batch discovery packet.
[0040] The batch discovery process is initiated by the leader, but can also be executed by a switch once it has been discovered. In other words, a discovered member can participate in the batch discovery process to facilitate the discovery of new members. Fig. shows a flowchart illustrating the stack discovery process performed on a leader switch according to one aspect of the invention. During operation, a particular member switch may receive a "hello" packet on a predetermined interface (operation 702). The "hello" packet may originate from the leader and be forwarded to the member switch by a first neighboring switch (i.e., the switch coupled to the particular member switch). After receiving the "hello" packet, the member switch may process the "hello" packet (operation 704). For example, the member switch may determine whether the "hello" packet is an initial packet by checking whether the destination MAC address field and the member information field are empty.In response to the initial "hello" packet, the subscriber switch in question may generate a "hello_ack" packet and send it back to the first neighboring switch, which may then forward the "hello_ack" packet to the conductor so that the conductor can identify the subscriber switch in question (operation 706). As previously mentioned, after receiving the "hello_ack" packet, the conductor learns various types of information from the particular member switch, including the MAC address and device type associated with the particular member switch. The conductor may also generate and send stack configuration information specific to the particular member switch to the particular member switch. The stack configuration information may include a member ID assigned to the particular member switch by the conductor and FPS connections associated with the particular member switch.In one aspect, the conductor assigns the member IDs according to a predetermined order. For example, members discovered earlier may be assigned lower-order member IDs. The first neighboring switch is discovered before the particular member switch; therefore, the first neighboring switch has a lower-order member ID. The particular switch may then receive the stack configuration information from the conductor (operation 708). This completes the discovery of the individual member switch.
[0041] Once the particular member switch is discovered, it may forward the received "hello" packet to a second neighboring switch over a second predetermined interface (operation 710). In response, the particular member switch may receive and forward a corresponding "hello_ack" packet to the leader so that the second neighboring switch can be discovered by the leader (operation 712). Note that both interfaces are FPS-enabled interfaces, which may be standard interfaces or specified by stack configurations downloaded from a network management server. Because the switches are coupled together according to a predetermined order (which may be a standard order or an order specified by the downloaded stack configuration file), they are discovered sequentially according to the predetermined order.After all connected switches have been discovered, the respective connected switch can receive a reboot control packet from the wire and reboot using the received stack configurations (operation 714).
[0042] Fig. shows a flowchart illustrating the method for assigning the subscriber ID according to one aspect of the invention. This process is performed only by the conductor. During operation, a member ID assignment unit on the conductor monitors the OVSDB to determine if a new peer switch has been discovered (operation 802). As previously mentioned, the conductor updates the OVSDB each time it receives a batch discovery response packet from a peer switch. In response to determining that a peer switch has been discovered, the member ID assignment unit selects a member ID from a list of free member IDs (operation 804) and assigns the selected member ID to the newly discovered peer (operation 806). The member ID may be selected according to a predetermined algorithm or according to batch configurations downloaded from the network management server.In one aspect, automatic stacking uses a default configuration, and the member ID assignment unit can select a lowest-order member ID from the list of free member IDs. This allows member IDs to be assigned in the order in which peer switches are discovered. To ensure that the member ID assignment unit does not assign member IDs out of order, a member ID can only be assigned to a discovered switch after a member ID has been assigned to a previously discovered switch. In addition, numeric member IDs are assigned according to a predetermined numeric order (e.g., from low to high or from high to low).Because peer switches are discovered in the order they are physically connected, member IDs can be assigned in the same order, ensuring that the switches are deterministically numbered. When auto-stacking uses the downloaded stack configurations, each switch can be assigned a member ID determined by the stack configurations. After assigning the member ID to the newly discovered peer, the member ID assignment unit publishes the member ID assignment to the OVSDB (operation 808). This information can be used by the link discovery process.
[0043] Fig. shows a block diagram of a switch capable of performing automatic stacking according to one aspect of the application. The switch 900 may have a number of ports (e.g., ports 902, 904, 906, and 908) and a mode selection button 910 on its front panel. The switch 900 may also include a logic block 912 for determining the line mode, a logic block 914 for downloading the stack configuration, a logic block 916 for detecting members, a logic block 918 for assigning member IDs, an OVSDB 920, and a logic block 922 for restarting the switch. Other standard switch components, such as the switch CPU, on-board memory, forwarding tables, queuing mechanism, etc., are described in Fig. not shown.
[0044] Some or all ports of switch 900 are capable of operating as FPS ports. However, before receiving control packets from configured FPS links, these ports can function as normal ports. In one aspect, a pair of ports (e.g., ports 902 and 904) can be configured as standard FPS ports. The mode select button 910 allows a user (e.g., an installer responsible for connecting the switches) to manually select a conductor. When the installer presses the mode select button 910 on a specific switch, that switch becomes the conductor of the stack being formed, and the FPS links on that switch are configured.
[0045] The ladder mode determination logic block 912 can determine whether the current switch is operating in ladder mode. Such a determination can be made based on the state of the mode selection button 910 (i.e., whether it has been pressed) or based on a command received from an external network management server. The external network management server can store stack configurations created by network administrators. When the external network management server determines that switches of a to-be-formed stack are physically connected (e.g., via Ethernet cables), it identifies the ladder switch (e.g., by its MAC address) and sends a command to the identified ladder.
[0046] Batch configuration download logic block 914 may be responsible for downloading a batch configuration file from the external network management server that includes the batch configurations, including member ID and FPS connection assignments. In one aspect, batch configuration file download logic block 914 initiates the download in response to receiving a command from the external network management server.
[0047] The member discovery logic block 916 may be responsible for discovering new members in the stack. In one aspect, the member discovery logic block 916 may advertise a stack discovery packet on its FPS interfaces during discovery. If the current switch is a leader, the member discovery logic block 916 also generates the advertised stack discovery packet. Otherwise, the advertised stack discovery packet is received from a discovered member. The stack discovery packet may contain information (e.g., MAC address, device type, auto-stacking capability, etc.) associated with the current switch. When the switches are connected in a ring, to ensure that the stack can be formed in the correct order, the member discovery logic block 916 may only broadcast the stack discovery packet on a predetermined FPS interface (e.g.,a lower-order or higher-order interface). Member discovery logic block 916 may also receive responses to the member discovery packet. The member discovery response packet from a switch may contain stack information associated with the responding switch, including, but not limited to: MAC address, device type, auto-stacking suitability, etc. If the switch receiving the response is not the leader, member discovery logic block 916 may also be responsible for forwarding the response to the leader, making it easier for the leader to identify the member switch generating the response. Because the stack discovery packet is forwarded from one discovered member to the next attached member, the members of the stack are discovered sequentially, in the order in which they are attached.The connection order of the members can be a default order or an order specified in the batch configuration file.
[0048] Member ID assignment logic block 918 is enabled only for the leader. In other words, if leader mode determination logic block 912 determines that the current switch is a leader, it enables member ID assignment logic block 918. Otherwise, member ID assignment logic block 918 remains idle. When enabled, logic block 918 may be responsible for assigning member IDs to stack members discovered by member discovery logic block 916. The member IDs are assigned according to a predetermined order, which may be a default order or an order specified by the stack configuration file. In one aspect, member ID assignment logic block 918 may select the lowest-ordered member ID from a pool of unused numeric member IDs to assign to a newly discovered member.Alternatively, the newly discovered member may be assigned the highest member ID. When a next member is discovered, member ID assignment logic block 918 may assign a lowest- or highest-order member ID to the next member. This can ensure that member IDs are assigned sequentially in the order they were discovered, facilitating the formation of an ordered stack. In addition to assigning member IDs, member ID assignment logic block 918 may also assign FPS connections to the discovered members. When a stack configuration file is downloaded from the external network management server, member ID assignment logic block 918 may assign member IDs according to the user-defined stack configurations.For example, custom stack configurations can specify that a switch that meets certain criteria should be assigned a specific member ID.
[0049] The OVSDB 920 stores stack information associated with all members in the stack, including, but not limited to, the leader's MAC address / member ID, the members' MAC addresses / member IDs, device types, and more. The OVSDB 920 is updated each time a member is discovered and each time a member ID is assigned. The OVSDB 920 can also maintain a list of free member IDs.
[0050] Switch reboot logic block 922 may be responsible for rebooting a switch after the switch has been discovered and stack information has been exchanged between the member switch and the leader. If the current switch (i.e., switch 900) is the leader, switch reboot logic block 922 may send control packets to other switches to reboot those switches. In one aspect, switch reboot logic block 922 sends the control packets in a predetermined order. To ensure that all switches can reboot substantially simultaneously, switch reboot logic block 922 may send the reboot control packets to member switches sequentially, starting with the farthest switch (i.e., the most recently discovered switch) and ending with the closest switch (i.e., the first discovered switch).If the current switch is not the leader, the switch reboot logic block 922 may reboot the switch in response to receiving a control packet from the leader. In another example, the switch reboot logic block 922 may start a timer after the switch receives the stack configuration (e.g., member ID and FPS links) from the leader. If the timer expires before a reboot control packet is received, the switch reboot logic block 922 uses the received stack configuration to reboot the switch.
[0051] Fig.illustrates a computer system that facilitates automatic discovery and configuration of a stack according to one aspect of the application. Computer system 1000 includes a processor 1002, a memory 1004, and a storage device 1006. Furthermore, computer system 1000 may be coupled to user input / output peripherals 1010, such as a display device 1012, a keyboard 1014, and a pointing device 1016. Storage device 1006 may store an operating system 1018, a stack discovery and configuration system 1020, and data 1040. According to one aspect, computer system 1000 may be part of a network switch.
[0052] Stack discovery and configuration system 1020 may include instructions that, when executed by computer system 1000, may cause computer system 1000 or processor 1002 to perform the methods and / or processes described in this disclosure. Specifically, stack discovery and configuration system 1020 may include instructions to determine whether the current switch is a leader of the stack (leader mode determination instructions 1022), instructions to download a stack configuration file from an external network management server (stack configuration download instructions 1024), instructions to automatically discover members (member discovery instructions 1026), instructions to assign member IDs (member ID assignment instructions 1028), and instructions to reboot the switch (switch reboot instructions 1030). The data 1040 may contain the OVSDB 1042.
[0053] In general, this disclosure provides a system and method for automatically forming an ordered stack using FPS technology. More specifically, the provided solution enables a deterministic and ordered way to form the stack with the required topology and roles. The installer only needs to physically connect the switches with cables according to a predetermined connection pattern (which can be a standard pattern or a pattern defined by custom stack configurations), power the switches, and connect the uplinks (e.g., connect the switches to the network). The installer does not need to log in to a switch (e.g., via a CLI interface) to manually configure the switch. Each switch can be equipped with a mode selection button, allowing the installer to select a conductor by pressing the button.This enables offline stacking without CLI access. In addition to using a standard stack configuration, this solution also allows downloading custom stack configurations from a remote network management server to a ladder switch specified by the stack configurations. Once the ladder switch is identified (either by a button click by the installer or by sending a command from the remote network management server), the ladder switch can initiate the automatic stack discovery process, in which the ladder sends stack discovery packets and receives stack discovery response packets.
[0054] More specifically, the leader switch can discover member switches one by one based on the switches' connection pattern. The leader switch can also be configured to assign member IDs to the discovered switches. Member IDs can be assigned to each switch according to a predetermined order, which can be a default order (e.g., from a lower number to a higher number, or vice versa) or the order determined by custom stack configurations. The described solution can also reduce stack formation time by rebooting all members essentially simultaneously, rather than one at a time. To this end, the leader can broadcast reboot packets for one switch at a time, starting with the farthest or the most recently discovered switch.The proposed solution reduces the number of manual interventions during batch creation. Furthermore, the described solution reduces the number of interactions between the network administrator and the installer.
[0055] One aspect of the present application provides a system and method for facilitating automatic stack formation. During operation, a member switch of a plurality of interconnected switches receives a stack discovery packet from a first interconnected switch. In response to receiving the stack discovery packet, the member switch generates and transmits a stack discovery response packet to the first interconnected switch so that the member switch can be discovered. The member switch receives stack configuration information from a stack control node and forwards the stack discovery packet to a second interconnected switch to facilitate discovery of the second interconnected switch. The first interconnected switch, the member switch, and the second interconnected switch are interconnected according to a predetermined order, thereby facilitating orderly discovery of the multiply interconnected switches.In response to receiving a control packet from the stack control node, the member switch reboots based on the received stack configuration information. The stack configuration information includes a stack member identifier assigned to the member switch based on the predetermined order by the stack control mode, thereby facilitating the formation of an ordered stack.
[0056] In a variation of this aspect, the member switch receives a second batch discovery response packet from the second coupled switch and forwards the second batch discovery response packet to the batch control node.
[0057] In a variation of this aspect, the member switch is connected to the first and second coupled switches via first and second predetermined interfaces capable of implementing front-plane stacking (FPS), and the first and second predetermined interfaces are standard interfaces or interfaces specified by a user-defined stacking configuration.
[0058] In a variation of this aspect, the stack discovery packet includes a media access control (MAC) address of the stack control node, and the stack discovery response packet includes a MAC address of the member switch.
[0059] In a variation of this aspect, the stack configuration information is included in an additional stack discovery packet addressed to the member switch.
[0060] In a variation of this aspect, the default order is a standard order or an order determined by a user-defined stack configuration.
[0061] One aspect of the present application provides a system and method for facilitating automatic stack formation.During operation, in response to receiving a mode selection command, a stack control node initiates a stack discovery process comprising: advertising a peer discovery message on a predetermined port; receiving a peer discovery response message from a first member switch, thereby facilitating discovery of the first member switch; assigning, by the stack control node, a stack member identifier to the discovered first member switch according to a predetermined order; transmitting configuration information including the stack member identifier to the discovered first member switch; and causing the discovered first member switch to forward the peer discovery message to a second member switch, thereby facilitating discovery of the second member switch.The stack control node transmits a control packet to each discovered member switch to restart the discovered member switch based on the configuration information associated with the discovered member switch, thereby facilitating the formation of an ordered stack.
[0062] In a variation of this aspect, the stack control node receives a second peer discovery response packet from the second member switch via the first member switch.
[0063] In a variation of this aspect, the stack control node comprises a pair of standard ports implementing front-plane stacking (FPS), and the predetermined port is a higher-order port selected from the pair of standard ports.
[0064] In a variation of this aspect, the stack member identifier comprises a numeric identifier, and assigning the stack member identifier according to the predetermined order comprises selecting a lowest ordered stack member identifier from a set of unused stack member identifiers.
[0065] In a variation of this aspect, the peer discovery packet includes a media access control (MAC) address of the stack control node, and the peer discovery response packet includes a MAC address of the first member switch.
[0066] In a variation of this aspect, the transmission of the configuration information comprises including the configuration information in an additional peer discovery packet targeted to the first member switch.
[0067] In a variation of this aspect, receiving the mode selection command comprises detecting an installer pressing a mode selection button on the stack control node or receiving the mode selection command from an external network management server.
[0068] In another variant, in response to receiving the mode selection command from the external network management server, the stack control node downloads a stack configuration file from the network management server. The stack configuration file specifies the stack member identifiers to be assigned to the member switches.
[0069] The methods and processes described in the "Detailed Description" section may be embodied as code and / or data that may be stored in a computer-readable storage medium, as described above. When a computer system reads and executes the code and / or data stored on the computer-readable storage medium, the computer system executes the methods and processes embodied as data structures and code stored in the computer-readable storage medium.
[0070] Furthermore, the methods and processes described above may be integrated into hardware modules or devices. The hardware modules or devices may include, but are not limited to, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), dedicated or shared processors that execute a specific software module or piece of code at a specific time, and other known or later developed programmable logic devices. When activated, the hardware modules or devices execute the methods and processes contained therein.
[0071] The foregoing descriptions are for purposes of illustration and description only. They are not intended to be exhaustive or to limit the scope of this disclosure to the forms disclosed. Accordingly, many modifications and variations will be apparent to those skilled in the art.
Claims
[1] A method for facilitating automatic stacking, comprising: Receiving a batch discovery packet from a first coupled switch by a member switch (106, 108) of a plurality of coupled switches (102), (104), (106), (108); generating and transmitting a batch discovery response packet to the first coupled switch in response to receiving the batch discovery packet to enable the member switch to be discovered; Receiving stack configuration information from a stack control node (102); wherein the stack control node is configured to receive a mode selection command from an external network management server (122) and download a stack configuration file comprising the stack configuration information from the network management server, and wherein the stack configuration file specifies stack member identifiers to be assigned to the member switches; Forwarding the batch discovery packet by the member switch to a second coupled switch to facilitate discovery of the second coupled switch, wherein the first coupled switch, the member switch, and the second coupled switch are coupled together according to a predetermined order, thereby facilitating orderly discovery of the plurality of coupled switches; and in response to the member switch receiving a control packet from the stack control node, restarting the member switch based on the received stack configuration information, wherein the stack configuration information comprises a stack member identifier assigned to the member switch based on the predetermined order by the stack control mode, thereby facilitating the formation of an ordered stack. [2] The method of claim 1, further comprising: receiving a second batch discovery response packet by the member switch from the second coupled switch; and Forward the second batch discovery response packet to the batch control node. [3] The method of claim 1, wherein the member switch is coupled to the first and second coupled switches via first and second predetermined interfaces capable of implementing front-plane stacking (FPS), and wherein the first and second predetermined interfaces are standard interfaces or interfaces specified by a user-defined stacking configuration. [4] The method of claim 1, wherein the stack discovery packet comprises a Media Access Control (MAC) address of the stack control node and wherein the stack discovery response packet comprises a MAC address of the member switch. [5] The method of claim 1, wherein the stack configuration information is included in an additional stack discovery packet targeted to the member switch. [6] The method of claim 1, wherein the predetermined order is a standard order or an order specified by a user-defined stack configuration, and wherein the plurality of connected switches are discovered along a predetermined direction. [7] A method for facilitating automatic stacking, comprising: in response to receipt by a stack control node (102) of a mode selection command from an external network management server (122), downloading a stack configuration file from the network management server, the stack configuration file specifying stack member identifiers to be assigned to the member switches (106, 108); and Initialization of a batch discovery process by the batch control node, which includes: Announcing a peer discovery message on a predetermined port; Receiving a peer discovery response message from a first member switch, resulting in a discovery of the first member switch; Assigning a stack member identifier to the discovered first member switch by the stack control node according to a predetermined order; Transmitting configuration information including the stack member identifier to the discovered first member switch; and Causing the discovered first member switch to forward the peer discovery message to a second member switch, thereby facilitating discovery of the second member switch; and Transmitting a control packet by the stack control node to each discovered member switch to restart the discovered member switch based on the configuration information associated with the discovered member switch, thereby facilitating the formation of an ordered stack. [8] The method of claim 7, further comprising: Receiving a second peer discovery response packet from the second member switch via the first member switch. [9] The method of claim 7, wherein the stack control node comprises a pair of standard ports (902, 904) implementing front-plane stacking (FPS), the predetermined port being a higher-order port selected from the pair of standard ports, and member switches in the stack are discovered along a predetermined direction starting with a member switch coupled to the predetermined port of the stack control node. [10] The method of claim 7, wherein the stack member identifier comprises a numeric identifier, and wherein assigning the stack member identifier according to the predetermined order comprises selecting a lowest ordered stack member identifier from a set of unused stack member identifiers. [11] The method of claim 7, wherein the peer discovery packet comprises a media access control (MAC) address of the stack control node and wherein the peer discovery response packet comprises a MAC address of the first member switch. [12] The method of claim 7, wherein transmitting the configuration information comprises including the configuration information in an additional peer discovery packet targeted to the first member switch. [13] A computer system (1000) comprising: a processor (1002) and a non-transitory computer-readable storage medium (1006) storing instructions that, when executed by the processor, cause the processor to perform a method for facilitating automatic stack formation, the method comprising: in response to receipt, by a stack control node (102), of a mode selection command from an external network management server (122), downloading a stack configuration file via the network management server, the stack configuration file specifying stack member identifiers to be assigned to the member switches (106, 108); and Initiating a batch discovery process by the batch control node, which includes: Announce a peer discovery message on a predetermined port; Receiving a peer discovery response message from a first member switch, resulting in a discovery of the first member switch; Assigning a stack member identifier to the discovered first member switch by the stack control node according to a predetermined order; Transferring configuration information including the stack member identifier to the discovered first member switch and Causing the discovered first member switch to forward the peer discovery message to a second member switch, thereby facilitating the discovery of the second member switch; and Transmitting a control packet by the stack control node to each discovered member switch to restart the discovered member switch based on the configuration information associated with the discovered member switch, thereby facilitating the formation of an ordered stack. [14] The computer system of claim 13, wherein the stack member identifier comprises a numeric identifier, and wherein assigning the stack member identifier according to the predetermined order comprises selecting a lowest ordered stack member identifier from a set of unused stack member identifiers. [15] The computer system of claim 13, wherein the peer discovery packet comprises a media access control (MAC) address of the stack control node and wherein the peer discovery response packet comprises a MAC address of the first member switch. [16] The computer system of claim 13, wherein transmitting the configuration information comprises including the configuration information in an additional peer discovery packet targeted to the first member switch.
Citation Information
Patent Citations
System and method for base topology selection
US20140362709A1
Virtual stacking of switches
US20150085704A1
Virtual switching framework
US20190044848A1