Allow Zero Stack-Ports

FastIron release 08.0.95c and later releases remove the system requirement for stacking port configuration when stacking is not enabled.

RUCKUS ICX stackable switches in all past releases required configuration for at least one stacking port, regardless of whether the device was enabled for stacking (shown as ‘stack enable’ configuration). When stacking is not enabled, by design, all ports, including ports otherwise configurable as stacking ports or trunks, can be used as data ports. As data ports, they can be configured at the interface level.

When stacking is enabled, stacking ports and trunks (shown as ‘stack-port’ and ‘stack-trunk’ configuration) cannot co-exist in the configuration with any interface-level configuration. Configuration is disallowed. In the reverse case, if a port or set of ports that might be used as a stacking port or trunk contains configuration, the stack enable command is blocked. When 'stack enable' is not configured, all ports are data ports. The previous requirement for the configuration to contain at least one stack-port or stack-trunk caused confusion.

Related Behavior Changes

FastIron release 09.0.00 modifies system behavior in the following ways:

  • The system no longer requires an ICX switch to have any 'stack-port' or 'stack-trunk' configuration when stacking is not enabled. That is, the operating system allows zero stack-port/trunk configuration in an existing ICX switch when ‘stack enable’ is not configured.
  • An ICX switch can contain provisional configuration (configuration not yet applied to a physical device) that does not have any ‘stack-port’ or ‘stack-trunk’ configuration, even if stacking is enabled in the ICX switch.
  • If a unit contains no 'stack-port' or 'stack-trunk' configuration for itself, the stack enable command is blocked. You must first configure at least one stack-port or stack-trunk before issuing the stack enable command. For example, suppose a standalone unit has configuration for itself (as unit 1) and provisional stacking configuration for some other units (unit 2, unit 3, and so on). The configuration for stack unit 1 must contain at least one stack-port or stack-trunk before you can configure stack enable. It doesn’t matter whether the provisional units have 'stack-port' or 'stack-trunk' configuration.

Reload Behavior on Clean Units

A brand-new unit has no startup configuration. An existing unit becomes a clean unit with no startup configuration after the erase startup-configuration and reload commands have been entered. Following a reload, the configuration of a clean unit contains two default stack-ports, but stacking is not enabled (‘stack enable’ is not present in the configuration).

Reload Behavior when the Current Configuration Is Saved

When the running configuration is saved to startup configuration, the system checks for ‘stack enable’ configuration and at least one configured stack-port or stack-trunk. Issuing the write memory command to save the current configuration followed by the reload command produces the following results. Assuming the configuration was correct previously, the ICX switch continues to operate normally.

  • Stacking is enabled and ‘stack-port’ or ‘stack-trunk’ configuration is present. After a reload, if ‘stack enable’ was present along with ‘stack-port’ or ‘stack-trunk’ configuration, the resulting configuration is the same.
  • Stacking is not enabled. After a reload, if the unit configuration did not contain ‘stack enable,’ the resulting unit configuration is unchanged and may contain no stack-port or trunk, one stack-port or trunk, or two stack-ports or trunks, depending on the previous configuration.
  • Stacking is enabled, but the unit has no ‘stack-port or 'stack-trunk’ configuration. If the unit startup configuration contains ‘stack enable’ but no ‘stack-port’ or ‘stack-trunk’ configuration, the system adds the default stack-ports.
    Note: This case should not normally occur. However, it is observed on ICX 7650 switches as described in the following section.

Note: If the unit has no 'stack-port' configuration and you want to enable stacking, you must configure stack-ports first and then enable stacking; otherwise, an error is displayed as shown.

ICX7550-48ZP Router# configure terminal
ICX7550-48ZP Router(config)# stack enable
Error! stack enable fails due to no stack port. Please configure stack-port/trunk on unit 1. 
(default: stack-port 1/2/1 stack-port 1/2/2) 

Special Behavior for ICX 7650 Rear Module

ICX 7650 switches can be stacked through module 3, the rear module, which allows mode changes using rear-module command options. (For example, ICX 7650 module 3 changes from an icx7650-100g-2port-200g-module to an icx7650-qsfp-4port-160g-module when the rear-module command changes the ICX unit from the default mode to stack-40g mode.) In the process of changing the rear module, the system removes the old ports from the startup configuration (but not the running configuration) to prepare for a speed change immediately after the system reloads. As a result, when the write memory command is issued, no ‘stack-port’ or ‘stack-trunk’ configuration is present in the startup configuration. The system then adds the default stacking ports, which you can modify if needed during stack construction.

Note: If while modifying stack configuration for the rear module you make an error, the system displays an error message with detailed guidance.

For example, if stacking configuration has been removed and you try to enable stacking, the system displays the following error message.

ICX7650-48ZP Router(config)# stack enable
Error! stack enable fails due to no stack port. Please configure stack-port/trunk on unit 1. 
(default: stack-port 1/3/1 stack-port 1/3/3)

As another example, the system responds as shown if you enter the following configuration (mistakenly entering stack-port 1/3/2 instead of stack-port 1/3/3).

ICX7650-48ZP Router(config)# stack unit 1
ICX7650-48ZP Router(config-unit-1)# stack-port 1/3/1
ICX7650-48ZP Router(config-unit-1)# stack-port 1/3/2  <--- incorrect stack-port
Error! 1/3/2 not allowed.
The following stack-ports/trunks are allowed.
Linear-topo trunk (exact ports): allowed only in one-direction
stack-trunk 1/3/1 to 1/3/4 
General stack-port/trunk that can be in up to two directions: Both directions must belong to the 
same valid-stack-port-set (dir_0_1st_port, dir_1_1st_port, max_#_ports):
(1/3/1, 1/3/3, 2)
E.g., (1/2/1, 1/2/3, 2): each direction can have 1-2 ports

Upgrade/Downgrade Behavior

FastIron release 09.0.00 stacking configuration is backward compatible. The FastIron 09.0.00 operating system can read startup configuration files generated by previous releases. Previous releases can also read a FastIron 09.0.00 startup configuration file and will generate default stack-ports if a unit configuration contains no stack-port or stack-trunk.