Allow Zero Stack-Ports

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

When stacking is enabled (by the stack enable command), any interface-level configuration is disallowed, including configuration for stacking ports or trunks (shown as ‘stack-port’ and ‘stack-trunk’ configuration).

For releases prior to FastIron 08.0.95c, in all Ruckus ICX stackable switches, the running-configuration required at least one stacking port to be configured, whether or not the device was enabled for stacking. This requirement caused some confusion because when stacking is disabled, all possible stacking ports can be used as data ports, including ports configured by default, shown as ‘stack-port’ and ‘stack-trunk’ in the configuration.

This behavior change does not affect backward and forward compatibility. For example, FastIron releases 08.0.90 and 08.0.95c can reload to each other. When FastIron release 08.0.90 boots up with a startup configuration generated by FastIron release 08.0.95c containing no stack-port configuration, two default-stack ports are added to the FastIron 08.0.90 running configuration.

Note: The CLI examples used in this section contain stack-port and stack-trunk command syntax introduced in FastIron release 09.0.00. The stack-port, stack-trunk, multi-stack-port, and multi-stack-trunk commands were modified in FastIron release 09.0.00 to include the keyword ethernet before the first port number in a list or range, for example, stack-port ethernet 1/2/1, stack-trunk ethernet 1/2/1 to 1/2/3, or multi-stack-trunk ethernet 1/2/1 to 1/2/3 and ethernet 2/2/1 to 2/2/3.

Related Behavior Changes

FastIron release 08.0.95c 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 or stack-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 does not matter whether the provisional units have 'stack-port' or 'stack-trunk' configuration.

Reload Behavior on Clean Units

A 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

Note: The “allow zero stack-port/trunk” feature is, in general, backward and forward compatible for the reload scenarios described in this section. However, the feature is not backward compatible if you change ICX 7650 rear-module configuration and enter the write memory command, and reload to an older release that does not use the “allow zero stack-port/trunk” behavior. RUCKUS recommends that you reload to the same release when changing the ICX 7650 rear-module configuration.

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. Using 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 stack-trunk, one stack-port or stack-trunk, or two stack-ports or stack-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. This case should not normally occur. However, it is observed on ICX 7650 switches as described in "Special Behavior for the ICX 7650 Rear Module."

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 ethernet 1/2/1 stack-port ethernet 1/2/2) 

Note: The reload behavior change occurs from FastIron release 08.0.95c. However, from FastIron release 09.0.00, the syntax of the stack-port command changes to include the keyword ethernet as shown in the examples.

Special Behavior for the 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 stack-port or stack-trunk 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 ethernet 1/3/1 stack-port ethernet 1/3/3)

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

ICX7650-48ZP Router(config)# stack unit 1
ICX7650-48ZP Router(config-unit-1)# stack-port ethernet 1/3/1
ICX7650-48ZP Router(config-unit-1)# stack-port ethernet 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 ethernet 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

To upgrade or downgrade a stack system to or from FastIron release 09.0.00, refer to the RUCKUS FastIron Software Upgrade Guide specific to the release.