2014, Brocade Communications Systems, Inc. All Rights Reserved.
Brocade, the B-wing symbol, Brocade Assurance, ADX, AnyIO, DCX, Fabric OS, FastIron, HyperEdge, ICX, MLX, MyBrocade, NetIron,
OpenScript, VCS, VDX, and Vyatta are registered trademarks, and The Effortless Network and the On-Demand Data Center are trademarks
of Brocade Communications Systems, Inc., in the United States and in other countries. Other brands and product names mentioned may be
trademarks of others.
Notice: This document is for informational purposes only and does not set forth any warranty, expressed or implied, concerning any
equipment, equipment feature, or service offered or to be offered by Brocade. Brocade reserves the right to make changes to this document
at any time, without notice, and assumes no responsibility for its use. This informational document describes features that may not be
currently available. Contact a Brocade sales office for information on feature and product availability. Export of technical data contained in
this document may require an export license from the United States government.
The authors and Brocade Communications Systems, Inc. assume no liability or responsibility to any person or entity with respect to the
accuracy of this document or any loss, cost, liability, or damages arising from the information contained herein or the computer programs that
accompany it.
The product described by this document may contain open source software covered by the GNU General Public License or other open
source license agreements. To find out which open source software is included in Brocade products, view the licensing terms applicable to
the open source software, and obtain a copy of the programming source code, please visit http://www.brocade.com/support/oscd.
The document conventions describe text formatting conventions, command syntax conventions, and
important notice formats used in Brocade technical documentation.
Text formatting conventions
Text formatting conventions such as boldface, italic, or Courier font may be used in the flow of the text
to highlight specific words or phrases.
Format
bold text
italic text
Courier font
Description
Identifies command names
Identifies keywords and operands
Identifies the names of user-manipulated GUI elements
Identifies text to enter at the GUI
Identifies emphasis
Identifies variables and modifiers
Identifies paths and Internet addresses
Identifies document titles
Identifies CLI output
Identifies command syntax examples
Command syntax conventions
Bold and italic text identify command syntax components. Delimiters and operators define groupings of
parameters and their logical relationships.
Convention
bold textIdentifies command names, keywords, and command options.
valueIn Fibre Channel products, a fixed value provided as input to a command
option is printed in plain text, for example, --show WWN.
[ ]
{x| y| z}
x | y
< >
...
\
Syntax components displayed within square brackets are optional.
Default responses to system prompts are enclosed in square brackets.
A choice of required parameters is enclosed in curly brackets separated by
vertical bars. You must select one of the options.
In Fibre Channel products, square brackets may be used instead for this
purpose.
A vertical bar separates mutually exclusive elements.
Nonprinting characters, for example, passwords, are enclosed in angle
brackets.
Repeat the previous element, for example, member[member...].
Indicates a “soft” line break in command examples. If a backslash separates
two lines of a command input, enter the entire command at the prompt without
the backslash.
Notes, cautions, and warnings
Notes, cautions, and warning statements may be used in this document. They are listed in the order of
increasing severity of potential hazards.
NOTE
A note provides a tip, guidance, or advice, emphasizes important information, or provides a reference
to related information.
ATTENTION
An Attention statement indicates potential damage to hardware or data.
CAUTION
A Caution statement alerts you to situations that can be potentially hazardous to you or cause
damage to hardware, firmware, software, or data.
DANGER
A Danger statement indicates conditions or situations that can be potentially lethal or
extremely hazardous to you. Safety labels are also attached directly to products to warn of
these conditions or situations.
Visit the Brocade website to locate related documentation for your product and additional Brocade
resources.
You can download additional publications supporting your product at www.brocade.com.
•Adapter documentation is available on the Downloads and Documentation for Brocade Adapters
page. Select your platform and scroll down to the Documentation section.
•For all other products, select the Brocade Products tab to locate your product, then click the
Brocade product name or image to open the individual product page. The user manuals are
available in the resources module at the bottom of the page under the Documentation category.
To get up-to-the-minute information on Brocade products and resources, go to MyBrocade. You can
register at no cost to obtain a user ID and password.
Release notes are available on MyBrocade under Product Downloads.
White papers, online demonstrations, and data sheets are available through the Brocade website.
Brocade resources
Getting technical help
You can contact Brocade Support 24x7 online, by telephone, or by e-mail.
For product support information and the latest information on contacting the Technical Assistance
Center, go to http://www.brocade.com/services-support/index.html.
Use one of the following methods to contact the Brocade Technical Assistance Center.
OnlineTelephoneE-mail
Preferred method of contact for nonurgent issues:
•My Cases through MyBrocade
•Software downloads and
licensing tools
•Knowledge Base
Required for Sev 1-Critical and Sev
2-High issues:
•Continental US:
1-800-752-8061
•Europe, Middle East, Africa,
and Asia Pacific: +800-AT
FIBREE (+800 28 34 27 33)
•For areas unable to access toll
free number: +1-408-333-6061
•Toll-free numbers are available
in many countries.
To send feedback and report errors in the documentation you can use the feedback form posted with
the document or you can e-mail the documentation team.
Quality is our first concern at Brocade and we have made every effort to ensure the accuracy and
completeness of this document. However, if you find an error or an omission, or you think that a topic
needs further development, we want to hear from you. You can provide feedback in two ways:
•Through the online feedback form in the HTML documents posted on www.brocade.com.
•By sending your feedback to documentation@brocade.com.
Provide the publication title, part number, and as much detail as possible, including the topic heading
and page number if applicable, as well as your suggestions for improvement.
● What’s new in this document............................................................................................ 9
● Related publications........................................................................................................10
● How command information is presented in this guide.....................................................10
Introduction
This guide includes procedures for configuring the software. The software procedures show how to
perform tasks using the CLI. This guide also describes how to monitor Brocade products using statistics
and summary screens.
Supported hardware
This guide supports the following product families from Brocade:
•FastIron X Series devices (chassis models):
‐FastIron SX 800
‐FastIron SX 1600
•Brocade FCX Series (FCX) Stackable Switch
•Brocade ICX™ 6610 (ICX 6610) Stackable Switch
•Brocade ICX 6430 Series (ICX 6430)
•Brocade ICX 6450 Series (ICX 6450)
•Brocade ICX 6650 Series (ICX 6650)
•Brocade ICX 7750 Series (ICX 7750)
NOTE
The Brocade ICX 6430-C switch supports the same feature set as the Brocade ICX 6430 switch unless
otherwise noted.
NOTE
The Brocade ICX 6450-C12-PD switch supports the same feature set as the Brocade ICX 6450 switch
unless otherwise noted.
For information about the specific models and modules supported in a product family, refer to the
hardware installation guide for that product family.
What’s new in this document
This document includes the information from FastIron software release 08.0.10a.
•Brocade FastIron SX, FCX, and ICX Diagnostic Reference, 08.0.10a
•Unified IP MIB Reference
How command information is presented in this guide
For all new content, command syntax and parameters are documented in a separate command
reference section at the end of the publication.
In an effort to provide consistent command line interface (CLI) documentation for all products, Brocade
is in the process of preparing standalone Command References for the IP platforms. This process
involves separating command syntax and parameter descriptions from configuration tasks. Until this
process is completed, command information is presented in two ways:
•For all new content included in this guide, the CLI is documented in separate command pages.
The new command pages follow a standard format to present syntax, parameters, usage
guidelines, examples, and command history. Command pages are compiled in alphabetical order
in a separate command reference chapter at the end of the publication.
•Legacy content continues to include command syntax and parameter descriptions in the chapters
where the features are documented.
If you do not find command syntax information embedded in a configuration task, refer to the
command reference section at the end of this publication for information on CLI syntax and usage.
Lists traditional stacking features supported on FastIron devices.
The following table lists the individual BrocadeFastIron switches and the traditional stacking features
they support. These features are supported only on FastIron stackable devices, and are supported in
the Layer 2 and full Layer 3 software images, except where explicitly noted.
FeatureICX 6430ICX 6450FCXICX 6610ICX 6650FSX 800
FSX 1600
Building traditional stacking: Securesetup, Automatic configuration, Manual
configuration
Traditional stacking management08.0.0108.0.0108.0.0108.0.01NoNoNo
Traditional stacking management MAC
address
Traditional stacking partitioning08.0.0108.0.0108.0.0108.0.01NoNoNo
Persistent MAC address08.0.0108.0.0108.0.0108.0.01NoNoNo
Traditional stacking software upgrade08.0.0108.0.0108.0.0108.0.01NoNoNo
Traditional stacking and stack mismatch
troubleshooting
Trunking of stacked ports08.0.0108.0.01No08.0.01NoNoNo
Auto Image Copy for stack units08.0.0108.0.0108.0.0108.0.01NoNoNo
Stack port resiliencyNoNoNo08.0.10aNoNoNo
NOTE
Traditional stacking is not supported on the ICX 6430-C devices.
08.0.0108.0.0108.0.0108.0.01NoNoNo
Traditional stacking overview
This section gives a brief overview of traditional stacking technology, including traditional stacking
terminology. This section also lists the FastIron models that support stacking.
Traditional stacking features
ICX 7750
A stack is a group of devices that are connected so that they operate as a single chassis. Brocade
traditional stacking technology features include:
•Management by a single IP address
•Support for up to eight units per stack (ICX 6430 supports only up to four units in the stack)
•Flexible stacking ports
•Linear and ring stack topology support
•Secure-setup utility to make stack setup easy and secure
•Active controller, standby controller, and member units in a stack
•Active controller management of entire stack
•Active controller download of software images to all stack units
•Standby controller for stack redundancy
•Active controller maintenance of information database for all stack units
•Packet switching in hardware between ports on stack units
•All protocols operate on traditional stacking in the same way as on a chassis system
Brocade stackable models
FCX devices
All FCX devices can be active members of a Brocade IronStack. FCX-E and FCX-I models require an
optional 10 Gbps SFP+ module to support stacking. For information about how to install FCX devices,
refer to the Brocade FCX Series Hardware Installation Guide.
All FCX devices can be ordered from the factory as -ADV models with support for Layer 3 BGP.
All ICX 6610, ICX 6430, and ICX 6450 devices can be active members of a Brocade IronStack. For
information about how to install ICX 6610 devices, refer to the Brocade ICX 6610 Stackable SwitchHardware Installation Guide. For information about how to install ICX 6430 and ICX 6450 devices, refer
to the Brocade ICX 6430 and ICX 6450 Stackable Switches Hardware Installation Guide.
ICX devices also support trunked stacking ports. For ICX 6610 devices, refer to ICX 6610 stacking for
different topologies on page 18 for details. For ICX 6450 and ICX 6430 devices, refer to Connecting
ICX 6450 and ICX 6430 devices in a traditional stack on page 20.
All ICX 6610 devices can be ordered from the factory as -ADV models with support for Layer 3 BGP.
Brocade traditional stacking terminology
Stack unit roles
•Active controller - Handles stack management and configures all system- and interface-level
features.
‐Future active controller- The unit that will take over as active controller after the next
reload, if its priority has been changed to the highest priority. When a priority for a stack
unit is changed to be higher than the existing active controller, the takeover does not
happen immediately to prevent disruptions in the stack operation.
•Standby controller - The stack member with the highest priority after the active controller. The
standby controller takes over if the current active controller fails.
•Stack Member - A unit functioning in the stack in a capacity other than active or standby controller.
•Stack Unit - Any device functioning within the stack, including the active controller and standby
controller.
‐Upstream Stack Unit - An upstream unit is connected to the first stacking port on the
active controller. (The left-hand port as you face the stacking ports.)
‐Downstream Stack Unit - A downstream unit is connected to the second stacking port on
the active controller. (The right-hand port as you face the stacking ports.)
General traditional stacking terminology
•Bootup Role - the role a unit takes during the boot sequence. This role can be standalone, active
controller, standby controller, or stack member. The active controller or a standalone unit can
access the full range of the CLI. Until a stack is formed, the local consoles on the standby controller
and stack members provide access to a limited form of the CLI, such as the show, stack, and a
few debug commands. When the stack is formed, all local consoles are directed to the active
controller, which can access the entire CLI. The last line of output from the show version
command indicates the role of a unit, unless it is a standalone unit, in which case it is not shown.
For example:
My stack unit ID = 1, bootup role = active
•Clean Unit - A unit that contains no startup flash configuration or runtime configuration. To erase
old configuration information, enter the erase startup-config command and reset the unit. For FCX
devices, the runtime configuration on a clean unit may also contain default-port information,
•Control Path - A path across stacking links dedicated to carrying control traffic such as commands
to program hardware or software image data for upgrades. A stack unit must join the control path to
operate fully in the stack.
•Default Port - FCX devices use the default-port command to define stacking port candidates.
•Interprocessor Communications (IPC) - The process by which proprietary packets are
exchanged between stack unit CPUs.
•IronStack - A set of Brocade stackable units (maximum of eight) and their connected stacking
links so that: all units can be accessed through their common connections, a single unit can
manage the entire stack, and configurable entities, such as VLANs and trunk groups, can have
members on multiple stack units.
•Non-Functioning Stack Unit - A stack unit that is recognized as a stack member, and is
communicating with the active controller over the Control Path, but is in a non-functioning state. A
non-functioning stack unit will drop or discard traffic from non-stacked ports. This may be caused
by an image or configuration mismatch.
•Sequential Connection - Stack unit IDs, beginning with the active controller, are sequential. For
example, 1, 3, 4, 6, 7 is sequential if active controller is 1. 1, 7, 6, 4, 3 are non-sequential in a
linear topology, but become sequential in a ring topology when counted from the other direction
as: 1, 3, 4, 6, 7. Gaps in numbering are allowed.
•Standalone Unit - A unit that is not enabled for stacking, or an active controller without any
standby controller or stack members.
•Stacking Link - A cable that connects a stacking port on one unit to a stacking port on another
unit.
•Secure-setup - A software utility that establishes a secure stack.
•Unit Replacement - The process of swapping out a unit with a Clean Unit. No configuration
change is required.
•Reserved / Provisional Unit - A unit configuration number that has no physical unit associated
with it.
•Trunked Stacking Port (Trunk) - A trunk consists of multiple stacking ports and is treated as one
logical link. It provides more bandwidth and better resilience.
•Stack Path - A data path formed across the stacking links to determine the set of stack members
that are present in the stack topology, and their locations in the stack.
•Stacking Port - A physical interface on a stack unit that connects a stacking link. Stacking ports
are point-to-point links that exchange proprietary packets. Stacking ports must be 10 Gbps
Ethernet ports (except for the ICX 6430 that uses 1 Gbps ports), and cannot be configured for any
other purpose while operating as stacking ports. Brocade stacking units contain two ports that can
be stacking ports. However, the flexible stacking port feature also allows you to use one port as a
stacking port and the other port as a regular data port.
•Stack Slot - A slot in a stack is synonymous with line model in a chassis.
•Stack Topology - A contiguously-connected set of stack units in an IronStack that are currently
communicating with each other. All units that are present in the stack topology appear in output
from the show stack command.
•Static Configuration - A configuration that remains in the database of the active controller even if
the unit it refers to is removed from the stack. Static configurations are derived from the startup
configuration file during the boot sequence, are manually entered, or are converted from dynamic
configurations after a write memory command is issued.
•Dynamic Configuration - A unit configuration that is dynamically learned by a new stack unit
from the active controller. A dynamic configuration disappears when the unit leaves the stack.
Supported traditional stacking topologies
This section describes how to build traditional stack. Before you begin, you should be familiar with the
supported stack topologies and the software requirements. When you are ready to build your stack,
you can go directly to the instructions.
Brocade traditional stacking technology supports linear and ring stack topologies. Although Brocade
stackable units may be connected in a simple linear topology, Brocade recommends a ring topology
because it offers the best redundancy and the most resilient operation.
Stacks that contain more than one type of device are called mixed stacks. For example, a mixed stack
contains ICX 6610 and ICX 6450 devices. For information about configuring a mixed stack, refer to the
“Mixed Stacking” chapter.
Traditional stacks must contain devices of the same type or product line. For example, a traditional
stack cannot contain both FCX and ICX 6450 devices. However, because they are models in the same
product line, a traditional stack can contain a mixture of both ICX 6450 and ICX 6430 devices.
FCX stack topologies
A Brocade traditional stack can contain all one model, or any combination of the FCX models. You can
mix 24-port and 48-port FCX devices in a single stack, to a maximum of eight units per stack.
The procedure for cabling a stack of FCX devices differs depending on whether your stack contains
FCX-E and FCX-I devices. The following figure shows FCX-S and FCXS-F devices cabled in linear
and ring stack topologies. Note that these devices are cabled from the rear panel.
FIGURE 1 FCX linear and ring stack topologies
FIGURE 2 FCX-E ring topology stack using SFP+ module ports
FCX stack topologies shows FCX-E devices in a linear topology stack.
Traditional Stacking
FIGURE 3 FCX-E linear topology stack using SFP+ module ports
The following figure shows a mixed linear topology stack of FCX-S, FCXS-F, and FCX-E or FCX-I
devices. Because the FCX-E and FCX-I devices are cabled from the front panel, and FCX-S and FCXSF devices are cabled from the rear panel by default, you need to reconfigure the default stacking ports
on FCX-S or FCXS-F devices to the ports on the front panel. For more information about reconfiguring
default stacking ports, refer to Configuring default ports on FCX devices on page 36.
FIGURE 4 Mixed linear stack of FCX-E devices and FCX-S devices
ICX 6610 stacking for different topologies
Earlier generations of Brocade switches did not have ports exclusively dedicated to stacking. ICX 6610
devices include 4 ports on the back panel that are used entirely for this purpose. Note that these ports
cannot be used as data ports, even when stacking is not enabled.
There are the two 40-Gbps ports and two 4 x 10-Gbps ports arranged in two rows. By default, these
ports form stacked trunks. The figure below shows one stacked trunk on the top row between 1/2/1
and 1/2/2 and the second stacked trunk on the bottom row between 1/2/6 and 1/2/7.
FIGURE 5 ICX 6610 device back panel
To properly connect stacked trunk ports between devices, you must connect corresponding trucks
from one device to another. For example, the following figures show correctly connected ports. The
two stacked trunks can form either linear or ring topologies.
Connecting ICX 6450 and ICX 6430 devices in a traditional stack
In contrast, the following figure shows a linear and ring topology where trucks are not fully connected
and show missing or partial trunk cables. This configuration is functional but is not a trunked stacked
set of devices.
FIGURE 8 ICX 6610 linear and ring stack topologies with partially missing cables
Connecting ICX 6450 and ICX 6430 devices in a traditional stack
ICX 6430 and ICX 6450 support linear and ring stack topologies, and can also operate as standalone
devices. ICX 6430 and ICX 6450 devices have four ports on the front panel for a stacking
configuration. ICX 6430 and ICX 6450 devices ship with two default stacking ports configured. When
stacking is enabled, ports 1 and 3 are dedicated to stacking and cannot be used for data ports. Use
the stack-port command to select only one of these default ports as the stacking port. If you do not
select a default port as the stacking port, both default ports will operate as stacking ports. For more
information about using the stack-port command on ICX 6430 and ICX 6450 devices, refer to Error
messages encountered during the configuration of an ICX 6430 or ICX 6450 traditional stack on page
45. If stacking is not enabled on the ports, then all four stacking ports can be used for data or uplink
ports. By default, ICX 6430 and ICX 6450 devices are not configured for trunked stacking. You can
dynamically configure or remove a stacking trunk port configuration using the stack-trunk command or
the multi-stack-trunk command. For more information about these commands, refer to Configuring an
ICX 6430 and ICX 6450 traditional stack on page 43.
ICX 6450 and ICX 6430 devices support hitless stacking switchover and failover. The secure-setup
utility is supported for ICX 6450 and ICX 6430 devices.
ICX 6430 device supports up to four units in a stack.ICX 6450 device supports up to eight units in a
stack. You cannot mix and match stacking units between ICX 6430 and ICX 6450 devices.
Connecting ICX 6450 devices in a stack
ICX 6450 devices have 24 or 48 10/100/1000 Mbps data ports and 4 ports with 1-Gbps or 10-Gbps SFP
+ fiber uplink and stacking ports. The top row consists of ports 1 and 3, and the bottom row consists of
ports 2 and 4. By default, ports 1 and 3 are 10-Gbps stacking ports and do not have license based
restrictions. However, without a license, ports 2 and 4 boot-up in an error disabled state. To enable
ports 2 and 4 in 10-Gbps port speed, you must purchase the ICX6450-2X10G-LIC-POD license.
ICX 6450 devices are available with 4 1/10-Gbps optical (dual mode) ports. If you want to use more
than two 1-Gbps ports on the 6450 with the optical ports, you must enable the 10-Gbps ports as 1-Gbps
ports for uplinks.
For more information about enabling ports 2 and 4 to 10-Gbps port speed, refer to "Licensing for Ports
on Demand" section in the FastIron Ethernet Switch Administration Guide.
Configuring a 10-Gbps port for a 1-Gbps uplink
If you want to use more than two 1-Gbps ports on an ICX 6450 device with 4 1/10-Gbps optical (dual
mode) ports, you must enable the 10-Gbps ports as 1-Gbps ports for uplinks.
Perform this task to configure a 10-Gbps port for a 1-Gbps uplink on an ICX 6450 device equipped with
4 1/10-Gbps optical (dual mode) ports.
speed-duplex 1000-full-master
Connecting ICX 6430 devices in a stack
ICX 6430 devices have 24 or 48 10/100/1000 Mbps data ports and 4 1-Gbps SFP fiber uplink and
stacking ports. The default stacking ports are 1 and 3. The 4 1-Gbps ports are not eligible for an
upgrade to 10-Gbps port speed. Trunk stacking configuration is supported for ICX 6430 devices. LAG
configuration is supported for stacking or uplink ports when a pair of 1-Gbps ports are aggregated.
Trunking configuration considerations for ICX 6430 and ICX 6450
devices
The ICX 6430 and ICX 6450 stacking ports are grouped into two trunks. Follow these guidelines for
connecting and configuring the stacking ports:
NOTE
After enabling the ICX 6430 and ICX 6450 trunked stacking ports, it is recommended that you enter the
write memory command to save your configuration.
•You can connect one or both ports in a trunk. Connecting both ports in a trunk increases stacking
bandwidth and provides resiliency.
•You must enable stacking and connect cables properly for the stack to work. The active copper
cable lengths for 1-Gbps ports are 1 m (3.2 ft) and 5 m (16.4 ft). The copper cable lengths for 10Gbps ports are 1 m (3.2 ft), 3 m (9.8 ft), and 5 m (16.4 ft).
•The default stacking ports are always ports 1 and 3. You can trunk (or un-trunk) ports 1 to 2 and
or ports 3 to 4. One or both of the two sets of stacking ports can be trunked (or un-trunked).
•When creating a trunk, the ports in the same column are always trunked. For ICX 6450 devices,
all stack ports must be configured to 10-Gbps port speed to enable trunking. For ICX 6430
devices, all stack ports must be at 1-Gbps port speed to enable trunking. For example, you can
connect ports 1/2/3 to 1/2/4 to form one trunk on one device, and ports 2/2/1 to 2/2/2 to form a
second trunk on another device.
•If you connect both ports in a trunk, both ports must connect to both ports of one trunk on another
device.
ICX 6430 and ICX 6450 stack topologies
In a linear stack topology, there is a single stack cable connection between each switch that carries
two-way communications across the stack. In a ring stack topology, an extra cable is connected
between the top and bottom switches forming a "ring" or "closed-loop." The closed-loop cable provides
a redundant path for the stack link, so if one link fails, stack communications can be maintained. The
closed-loop cable provides more stacking bandwidth and shortens the paths between some units.
The following figures show stacking cabling configurations. All the stacking configuration examples are
applicable to both ICX 6430 and ICX 6450 switches.
The following figure shows both linear and ring stacking configurations when you only connect one port
per trunk. The one port per trunk topology is the most commonly configured stacking configuration.
FIGURE 9 ICX 6430 and ICX 6450 stacking with one port per trunk
The following figure shows how the stack cables are connected between switches in a linear stacking
configuration for dual linking.
FIGURE 10 ICX 6430 and ICX 6450 linear stacking configuration
The following figure shows how the stack cables are connected between switches in a ring stacking
configuration.
FIGURE 11 ICX 6430 and ICX 6450 ring stacking configuration
Software requirements
All units in a traditional stack must be running the same software version.
Traditional stack construction methods
There are three ways to build a traditional stack.
1.Use the secure-setup utility to form your stack. Secure-setup gives you control over the design of
your stack topology and provides security through password verification. For the secure-setup
procedure, refer to Scenario 1 - Three-member traditional stack in a ring topology using secure-
setup on page 25.
2.Automatic stack configuration. With this method, you enter all configuration information, including
the module type and the priorities of all members into the unit you decide will be the active
controller and set its priority to be the highest. When you enable stacking on the active controller
the stack then forms automatically. This method requires that you start with clean units (except for
the active controller) that do not contain startup or runtime configurations. Refer to Scenario 2 -
Three-member traditional stack in a ring topology using the automatic setup process on page 29.
3.Manual stack configuration. With this method, you configure every unit individually, and enable
stacking on each unit. Once the units are connected together, they will automatically operate as a
traditional stack. With this method the unit with the highest priority becomes the active controller,
and ID assignment is determined by the sequence in which you physically connect the units. Refer
to Scenario 3 - Three-member traditional stack in a ring topology using the manual configuration
process on page 31.
Traditional stacking configuration notes
Before you configure your traditional stack, consider the following guidelines:
•Consider the number of units and how the stacking ports on the units will be connected. For more
information, refer to the hardware installation guide for your device.
•The stack should be physically cabled in a linear or ring topology. Connect only those units that will
be active in the stack.
•Make sure all units intended for the stack are running the same software version. Use the show
version command on any of the console ports in the stack.
NOTE
If you are running a router image and there is a potential loop in your topology, you need to configure
the spanning tree protocol in the would-be active controller. Otherwise, the excessive looping packets
might affect stack formation. The Spanning Tree Protocol is enabled by default in switch images.
•When you have a full stack of 8 units, you may need to increase the trap hold time from the default,
which is 60 seconds, to five minutes (300 seconds). This will prevent the loss of initial boot traps.
To increase the trap hold time, use the following command.
The router image requires more time to boot than the switch image.
Scenario 1 - Three-member traditional stack in a ring topology using
secure-setup
This scenario describes how to build a traditional stack using the secure-setup utility. Secure-setup lets
you easily configure your entire stack through the active controller, which propagates the configuration
to all stack members. Secure-setup is the most secure way to build a traditional stack, and gives you
the most control over how your stack is built. For example, secure-setup offers three security features
that prevent unauthorized devices from accessing or joining a traditional stack:
Configuring a three-member traditional stack in a ring topology using secure-setup
•Authentication of secure-setup packets provides verification that these packets are from a
genuine Brocade stack unit. MD5-based port verification confirms stacking ports.
•Superuser password is required to allow password-protected devices to become members of a
traditional stack.
•The stack disable command. When this command is issued, a unit does not listen for or send
stacking packets, which means that no other device in the network can force the stackingdisabled unit to join a traditional stack.
Secure-setup can also be used to add units to an existing traditional stack and to change the stack IDs
of stack members.
When secure-setup is issued on a unit that is not already the active controller, this unit becomes the
active controller. If this unit does not already have an assigned priority, secure-setup will assign this
unit a priority of 128 by default, if no other units in the stack have a priority higher than 128. If another
unit in the stack has a priority of 128 or higher, secure-setup will give the active controller a priority
equal to the highest priority unit in the stack (which is by default the standby controller). When the
active controller and the standby controller have identical priorities, during a reset, the old active
controller cannot reassume its role from the standby controller (which has become the active controller
at the reset).
If the previous active controller again becomes active, and you want it to resume the role of active
controller, you should set the priority for the standby controller to a priority lower than 128. If you do
not want the previous active controller to remain active controller, you can set the same priority for
both active and standby controllers (higher than or equal to 128).
NOTE
Secure-setup works for units within a single stack. It does not work across stacks.
The following figure shows a traditional stack with three units in a ring topology. Refer to this figure as
you follow the procedure steps for this scenario.
FIGURE 12 Traditional stack with ring topology
Configuring a three-member traditional stack in a ring topology using secure-setup
1.Connect the devices using the stacking ports and stack cabling. For more information, refer to the
appropriate hardware installation guides.
5.Enter the stack secure-setup command. As shown in the following example, this command
triggers a Brocade proprietary discovery protocol that begins the discovery process in both
upstream and downstream directions. The discovery process produces a list of upstream and
downstream devices that are available to join the stack. Secure-setup can detect up to 7 units in
each direction (14 total), but because the maximum number of units in a stack is 8, you must select
a maximum of 7 units from both directions.
NOTE
To exit the secure-setup, enter ^C at any time.
You should see output similar to the following.
device# stack secure-setup
device# Discovering the stack topology...
Current Discovered Topology - RING
Available UPSTREAM units
Hop(s) Type MAC Address
1 FCX624 0000.0039.2d40
2 FCX624 0000.00d5.2100
Available DOWNSTREAM units
Hop(s) Type MAC Address
1 FCX624 0000.00d5.2100
2 FCX624 0000.0039.2d40
Do you accept the topology (RING) (y/n)?: y
If you accept the topology, you will see output similar to the following.
Selected Topology:
Active Id Type MAC Address
1 FCX648 0000.00ab.cd00
Selected UPSTREAM units
Hop(s) Id Type MAC Address
1 3 FCX624 0000.0039.2d40
2 2 FCX624 0000.00d5.2100
Selected DOWNSTREAM units
Hop(s) Id Type MAC Address
1 2 FCX624 0000.00d5.2100
2 3 FCX624 0000.0039.2d40
Do you accept the unit ids (y/n)?: y
To accept the unit ID assignments, type y. If you do not want to accept the ID assignments, type n.
You can use secure-setup to renumber the units in your stack. Refer to “Renumbering stack units.”
If you accept the unit IDs, the stack is formed, and you can see the stack topology using the showstack command.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX648 active 0000.00ab.cd00 128 local Ready
2 D FCX624 standby 0000.00d5.2100 60 remote Ready
3 D FCX624 member 0000.0039.2d40 0 remote Ready
active standby
+---+ +---+ +---+
-2/1| 1 |3/1--2/1| 2 |3/1--2/2| 3 |2/1 +---+ +---+ +---+
Current stack management MAC is 0000.00ab.cd00
In this output, D indicates a dynamic configuration. After you perform a write memory , this
display will change to S, for static configuration.
6.The active controller automatically checks all prospective stack members to see if they are
password-protected. If a unit is password- protected, you will be asked to enter the password
before you can add the unit. If you do not know the password, take one of the following actions:
•Discontinue secure-setup by entering ^C.
•Obtain the device password from the administrator.
•Skip this unit and continue the secure-setup for your stack. The password-protected device
and all devices connected behind it will not be included in the setup process.
In the following example, the second unit is password-protected, so you are asked for the
password.
device# stack secure-setup
device# Discovering the stack topology...
Verifying password for the password protected units...
Found UPSTREAM units
Hop(s) Type MAC Address
1 2 FCX648 0000.005e.c480
2 3 FCX648 0000.0005.0000
Enter password for FCX648 located at 2 hop(s): ****
Enter the number of the desired UPSTREAM units (1-2)[1]: 2
Selected Topology:
Active Id Type MAC Address
1 FCX624 0000.0001.4000
Selected UPSTREAM units
Hop(s) Id Type MAC Address
1 2 FCX648 0000.005e.c480
2 3 FCX648 0000.0005.0000
Do you accept the unit id's (y/n)?: y
7.When the active controller has finished the authentication process, you will see output that shows
the suggested assigned stack IDs for each member. You can accept these recommendations, or
you can manually configure stack IDs. Enter the show stack command to verify that all units are
in the ready state.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX624 active 0000.0001.4000
128 local Ready
2 S FCX648 standby 0000.005e.c480 0
remote Ready
3 S FCX648 member 0000.0005.0000 0
remote Ready
active standby
+---+ +---+ +---+
-2/1| 1 |3/1--2/1| 2 |3/1--2/2| 3 |2/1 | +---+ +---+ +---+ |
| |
|-------------------------------------|
Current stack management MAC is 0000.0001.4000
device#
Scenario 2 - Three-member traditional stack in a ring topology using the automatic setup process
For ICX devices, it displays the port up state of all ports of the trunk, for example:
ICX6610-24P POE Router#show stack stack-port
active standby
+---+ +---+ +---+
=2/1| 1 |2/6==2/6| 5 |2/1==2/1| 4 |2/6=
| +---+ +---+ +---+ |
| |
|-------------------------------------|
U# Stack-port1 Stack-port2
1 up (1/2/1-1/2/5) up (1/2/6-1/2/10)
up ports: 1/2/1, 1/2/2, 1/2/3, 1/2/4, 1/2/5
up ports: 1/2/6, 1/2/7, 1/2/8, 1/2/9, 1/2/10
4 up (4/2/1-4/2/5) up (4/2/6-4/2/10)
up ports: 4/2/1, 4/2/2, 4/2/3, 4/2/4, 4/2/5
up ports: 4/2/6, 4/2/7, 4/2/8, 4/2/9, 4/2/10
5 up (5/2/1-5/2/5) up (5/2/6-5/2/10)
up ports: 5/2/1, 5/2/2, 5/2/3, 5/2/4, 5/2/5
up ports: 5/2/6, 5/2/7, 5/2/8, 5/2/9, 5/2/10
NOTE
A 4x10G port consists of four sub-ports and the show stack stack-port command displays all subports. So ports 1/2/2-1/2/5 in the previous code example are sub-ports of port 1/2/2 and
1/2/7-1/2/10 are sub-ports of 1/2/7.
8.Enter the write memory command on the active controller once all of the stack units are active.
This command initiates configuration synchronization, which copies the configuration file of the
active controller to the rest of the stack units.
NOTE
The secure-setup process may modify your configuration with information about new units, stacking
ports, and so on. For this reason, it is very important to save this information by issuing the writememory command. If you do not do this, you may lose your configuration information the next time
the stack reboots.
The secure-setup process for your stack is now complete.
NOTE
During the secure-setup process, after one minute of inactivity, authentication for stack members
will expire and you will need to restart the process.
Scenario 2 - Three-member traditional stack in a ring topology using
the automatic setup process
FCX devices determine stacking port candidates through the default-port setting. An FCX stackable
device with the default port configuration is still considered a clean unit. To ensure that the device
remains a clean unit, do not do a write memory on the device.
Configuring a three-member traditional stack in a ring topology using the automatic setup
process
Complete the following steps to configure a three-member traditional stack in a ring topology using
automatic setup process.
2.This process requires clean devices (except for the active controller) that do not contain any
configuration information. To change a device to a clean device, enter the erase startup-config
command and reset the device. When all of the devices are clean, continue with the next step.
NOTE
The physical connections must be sequential, and must match the stack configuration.
3.Log in to the device that you want to be the active controller.
4.Configure the rest of the units by assigning ID numbers and module information for each unit. The
5.Assign a priority to the active controller using the priority command, as shown.
device(config)# stack unit 1
device(config-stack-1)# priority 255
Syntax:prioritynum
The num variable is a value from 0 through 255. 255 is the highest priority.
6.Assign a priority to the unit that will act as standby controller.
device# config t
device(config)# stack unit 2
device(config-unit-2)# priority 240
7.Enter the write memory command to save your settings.
8.Enter the stack enable command.
9.Physically connect the devices in a stack topology, which triggers an election during which the
stack is automatically configured. For more information about cabling the devices, refer to the
appropriate hardware installation guides.
NOTE
When you are configuring individual stack units, you can skip ID numbers. However, the
sequence in which the units are connected must match the order in which you configure them. For
example, you could configure unit 1 as FCX624, unit 3 as FCX648, unit 4 as FCX624, unit 6 as
FCX624 and unit 7 as FCX648. The physical connection order must be: active (FCX624), FCX648
(3), FCX624 (4), FCX624 (6) and FCX648 (7). The active controller is stack unit 1.
10. Verify your stack configuration by entering the show running config command.
device# show running config
Current configuration:
!
ver 05.0.02
!
stack unit 1
module 1 fcx-24-port-copper-base-module
module 2 fcx-xfp-1-port-10g-module
module 3 fcx-xfp-1-port-10g-module
11. To see information about your stack, enter the show stack command.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX624 active 0000.0000.0100 255
local Ready
2 S FCX624 standby 0000.00eb.afc0 240
remote Ready
3 S FCX624 member 0000.005d.a1c0 0
remote Ready
active standby
+---+ +---+ +---+
-2/1| 1 |3/1--2/1| 2 |3/1--2/2| 3 |2/1 | +---+ +---+ +---+ |
| |
|-------------------------------------|
Current stack management MAC is 0000.0000.0100
device#
Results for ICX devices are similar, with an equals sign (=) to show connections between trunk
ports, rather than the hyphen symbol (-) showing connection.
Configuration tips for building a stack using the automatic setup process
Remember the following tips when using the automatic setup process for building a stack:
•If a new unit configuration matches other unit configurations, the active controller gives this unit the
lowest sequential ID. For example, in a stack configuration that contains eight FCX624
configurations, but only units 1, 4 and 8 are currently active, if you place a new FCX624 unit
between units 4 and 8, the new unit will be assigned unit ID 5. This unit assignment occurs
because unit 5 is the lowest sequential ID and comes directly after active unit 4 even though it
might match unused inactive unit IDs 2, 3, 5, 6, and 7.
•In a ring topology, the same new unit might assume either ID if either direction produces sequential
IDs. For example, in a four-member stack where IDs 2 and 4 are reserved, a new unit could
assume either I2 or ID 4 because either ID 1,2,3 or 1, 3, 4 is sequential.
Scenario 3 - Three-member traditional stack in a ring topology using
the manual configuration process
Complete the following steps to configure a three-member traditional stack in a ring topology using the
manual configuration process.
1.Power on the devices. Do not connect the stacking cables at this point.
2.Assign a priority of 255 to unit 1, and a priority of 240 to unit 3 using the priority command. You do
not have to assign a priority to the third device. Enter the stack enable command on each device.
In this example, device 1 will be the active controller and device 2 will be the standby controller.
3.Connect the devices in a stack topology. The active controller will retain its ID. The rest of the
device(config-unit-1)# priority 255
device(config-unit-1)# stack enable
Enable stacking. This unit actively participates in stacking
device(config-unit-1)# write memory
Write startup-config done.
Flash Memory Write (8192 bytes per dot) .Flash to Flash Done.
device(config-unit-1)# end
Unit 2
device# config t
device(config)# stack suggested-id 2
device(config)# stack enable
Enable stacking. This unit actively participates in stacking
Write startup-config done.
Flash Memory Write (8192 bytes per dot) .Flash to Flash Done.
device(config-unit-1)# end
device# config t
Unit 3
device# config t
device(config)# stack suggested-id 3
device(config)# stack unit 1
device(config-unit-1)# priority 240
device(config-unit-1)# stack enable
Enable stacking. This unit actively participates in stacking
device(config-unit-1)# end
units are assigned unique ID numbers depending on the sequence in which you connected them.
For more information about cabling the devices, refer to the appropriate hardware installation
guides.
NOTE
This method does not guarantee sequential stack IDs (if you do not configure the optional stack
suggested-id command on each standalone unit). If you want to change stack IDs to make them
sequential, you can use secure-setup. Refer to “Renumbering stack units.”
NOTE
You can configure the stack suggested-id command in a standalone unit before configuring the
stack enable command and joining the stack. A unit is assigned the suggested ID if no other unit
has that ID.
Extended distance stacking
Because Brocade devices use Ethernet for the inter-switch stack connections the deployment options
are greatly increased. If standard copper stacking cables are used, the inter-switch connections can
be up to 5 meters, which is usually sufficient for locally distributed stacks such as in top-of-rack (ToR)
applications. For broader distribution, fiber-optic cables should be used, allowing a stack to be
deployed across multiple physical locations such as the wiring closets of an office building.
This table shows the approved optics and stacking distance combinations:
Connectivity options for stacking with FCX and ICX Series devices
Fiber-optic options and stacking distancesTABLE 1
DeviceStacking portCopper optionsFiber-optic optionsFiber-optic maximum
ICX 66104 X 40 Gbps
Dedicated
ICX 64504 X 10 Gbps
Stacking and
uplink
ICX 64304 X 1 Gbps
Stacking and
uplink
FCX 624S
FCX 648S
FCX 624S-F
FCX 648S-F
FCX 624-I
FCX 624-E
FCX 648-I
FCX 648-E
2 X 18 Gbps
Dedicated
Optional 2-port
10 GbE XFP
module
Dedicated
Optional 4-port
10 G SFFP
module
1- or 5-meter OSFP40G Base-SR4•100 meters (OM3
1-, 3-, or 5-meter SFP+
Twinax cable
1-, 3-, or 5-meter SFP
Twinax cable
0.5-, 1-, or 3-meter CX4
cable
N/A•10G-XFP-SR
N/A•10G-SFFP-USR
•10G-SFFP-SR
•10G-SFFP-SR
•10G-SFFP-LRM
•E1 MG-TX
•E1 MG-SX
N/AN/A
•10G-XFP-1310
•10G-SFFP-SR
•10G-SFFP-LRM
distance
cable)
•150 meters (OM4
cable)
•100 meters
•100 meters
•100 meters
•100 meters
•100 meters
•100 meters
•300 meters
•100 meters
•300 meters
•220 meters (OM3
cable)
Connectivity options for stacking with FCX and ICX Series devices
You can use stack connections, instead of standard inter-switch links with Layer 2 Spanning Tree
Protocol (STP) or Layer 3 routing, to link distributed switches . Doing so has the following significant
advantages:
•Layer 2 simplicity. Stack links do not need to be considered as part of the overall network topology,
which means that they can be used to provide resiliency, and Layer 3 routing is not needed to
manage traffic flows.
•No shut links. Because the stack links are internal to the switches, they are not seen as part of a
Layer 2 network. This means that all links can remain open and can be used to carry traffic
simultaneously, maximizing throughput.
•Fast failover. Thee rapid detection and recovery techniques used on stack links means that failure
of a link or a switch results in hitless failover with no impact on user services.
•Simplified management. Even when all the switches within a stack are physically distributed, you
can manage them as a single entity, enabling one-touch configuration changes via a single IP
address.
FCX devices cannot be intermixed with non-FCX devices, and FCX devices have more possible
stacking ports.
Every FCX-S and FCXS-F device contains two default 16 Gbps stacking ports on the rear panel and
two 10 Gbps ports on the front panel that can also be used as stacking ports.
NOTE
FCX-I and FCX-E devices can only be used for stacking if they have an optional 10 Gbps SFP+
module installed in the front panel. These devices do not have stacking ports on the rear panels.
An FCX traditional stack may contain up to eight 24-port and 48-port devices, using any combination
of the rear panel stacking ports and the front panel optional stacking ports. For FCX-S and FCXS-F
devices, to use ports other than the factory-default 16 Gbps ports, you must define the ports for each
device in the runtime configuration. You can also configure the 16 Gbps ports to operate as 10 Gbps
ports.
An FCX "clean unit" may contain a default port configuration, but it is still considered a clean unit. To
preserve this state, do not do a write memory on the unit before you build the stack. An FCX device
with the default port configuration is still considered a clean unit. To ensure that the device remains a
clean unit, do not do a write memory on the device. (Write memory adds a startup-config, and the
device is no longer a clean unit.)
NOTE
The automatic setup process will not work for FCX devices that do not contain the default port
information in their clean unit configurations.
Configuring FCX stacking ports
FCX-S and FCXS-F devices have two 10 Gbps ports on the front panel and two 16 Gbps ports on the
rear panel. All of these ports may be used as stacking ports, however the non-default ports must be
configured as stacking ports when setting up your FCX-S or FCXS-F traditional stack.
FCX-I and FCX-E devices do not have 16 Gpbs ports on the rear panel. These devices may be used
in traditional stack by installing the 10 Gbps 4-port SFP+ module in the module slot on the front panel.
Once you have installed one of these modules, ports 1 and 2 act as the default stacking ports.
However, you can also use these ports to pass regular traffic, after disabling the stacking default.
NOTE
If you are adding FCX-E or FCX-I devices to a stack containing FCX-S or FCXS-F devices, you must
reconfigure the stacking ports on the FCX-S or FCXS-F devices to be the 10 Gbps ports on the front
panel. You can then connect all of the devices in a stack using front panel ports.
Changing FCX-S and FCXS-F CX4 ports from 16 Gbps to 10 Gbps
You can configure the 16 Gbps CX4 ports to operate as 10 Gbps ports using the speed-duplex
command, as shown in the following example.
Changing FCX-S and FCXS-F CX4 ports from 10 Gbps to 16 Gbps
•10-full - 10M, full duplex
•10-half - 10M, half duplex
•100-full - 100M, full duplex
•100-half - 100M, half duplex
•1000-full-master - 1G, full duplex, master
•1000-full-slave - 1G, full duplex, slave
•10g-full - 10G, full duplex
•auto - Autonegotiation
NOTE
Both ends of a link must be configured for 10 Gbps for the link to operate as 10 Gbps. If you want the
link to operate as a 16 Gbps link, both ends of the link must be configured for 16 Gbps.
device(config-if-e10000-cx4-1/2/1)# speed-duplex 10g-full
device(config-if-e10000-cx4-1/2/1)# end
device# show int br | in Up
1/1/4 Up Forward Full 1G None No 1 0 0000.0088.0003
1/2/1 Up Forward Full 10G None No 1 0 0000.0088.0019
1/3/1 Up Forward Full 10G None No N/A 0 0000.0088.001b
3/3/1 Up Forward Full 10G None No N/A 0 0000.0014.9df3
mgmt1 Up None Full 1G None No 1
0 0000.0088.0018
device# show interface e 1/2/1
16GigabitEthernet1/2/1 is up, line protocol is up
Hardware is 16GigabitEthernet, address is 0000.0088.0019 (bia 0000.0088.0019)
Interface type is 16Gig CX4
Configured speed 10Gbit, actual 10Gbit, configured duplex fdx, actual fdx
Member of L2 VLAN ID 1, port is untagged, port state is FORWARDING
BPDU guard is Disabled, ROOT protect is Disabled
Link Error Dampening is Disabled
STP configured to ON, priority is level0, mac-learning is enabled
Flow Control is enabled
mirror disabled, monitor disabled
Not member of any active trunks
Not member of any configured trunks
No port name
IP MTU 1500 bytes, encapsulation ethernet
300 second input rate: 0 bits/sec, 0 packets/sec, 0.00% utilization
300 second output rate: 0 bits/sec, 0 packets/sec, 0.00% utilization
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts, 0 multicasts, 0 unicasts
0 input errors, 0 CRC, 0 frame, 0 ignored
0 runts, 0 giants
0 packets output, 0 bytes, 0 underruns
Transmitted 0 broadcasts, 0 multicasts, 0 unicasts
0 output errors, 0 collisions
Relay Agent Information option: Disabled
Changing FCX-S and FCXS-F CX4 ports from 10 Gbps to 16 Gbps
To change the CX4 ports from 10 Gbps back to 16 Gbps, enter the no speed-duplex 10g command at
the interface level of the CLI, as shown in this example.
device(config-if-e10000-cx4-1/2/1)# no speed-duplex 10g
device(config-if-e10000-cx4-1/2/1)# show interface br | in Up
1/1/4 Up Forward Full 1G None No 1 0 0000.0088.0003
1/2/1 Up Forward Full 16G None No 1 0 0000.0088.0019
1/3/1 Up Forward Full 10G None No N/A 0 0000.0088.001b
3/3/1 Up Forward Full 10G None No N/A 0 0000.0014.9df3
mgmt1 Up None Full 1G None No 1 0 0000.0088.0018
device(config-if-e10000-cx4-1/2/1)# show interface e 1/2/1
16GigabitEthernet1/2/1 is up, line protocol is up
Hardware is 16GigabitEthernet, address is 0000.0088.0019 (bia 0000.0088.0019)
Interface type is 16Gig CX4
Configured speed 16Gbit, actual 16Gbit, configured duplex fdx, actual fdx
Member of L2 VLAN ID 1, port is untagged, port state is FORWARDING
BPDU guard is Disabled, ROOT protect is Disabled
Link Error Dampening is Disabled
STP configured to ON, priority is level0, mac-learning is enabled
Flow Control is enabled
mirror disabled, monitor disabled
Not member of any active trunks
Not member of any configured trunks
No port name
IP MTU 1500 bytes, encapsulation ethernet
300 second input rate: 0 bits/sec, 0 packets/sec, 0.00% utilization
300 second output rate: 0 bits/sec, 0 packets/sec, 0.00% utilization
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts, 0 multicasts, 0 unicasts
0 input errors, 0 CRC, 0 frame, 0 ignored
0 runts, 0 giants
0 packets output, 0 bytes, 0 underruns
Transmitted 0 broadcasts, 0 multicasts, 0 unicasts
0 output errors, 0 collisions
Relay Agent Information option: Disabled
device(config-if-e10000-cx4-1/2/1)#
Configuring default ports on FCX devices
On FCX devices, the default-port command is used to define stacking port candidates. A stacking
port is always a default port, but a default port may not necessarily be a stacking port. Default ports
can become stacking ports using the secure-setup utility, or through automatic stack building.
Secure-setup probe packets can be received by a default port whether or not it is acting as a stacking
port. Stacking packets can be only received by a stacking port (which is also always a default port). In
order to use stacking ports that are not defined in the default configuration, you must define the port
settings for each unit using the default-port command, so that secure-setup can discover the topology
of the stack.
The 4-byte Ethernet preamble for the Ethernet frame is used when a port is configured as a default
stacking port. For non-default ports, the standard 8-byte Ethernet preamble is used. For a default port
that is used as a regular data port, the standard 8-byte Ethernet preamble must be explicitly enabled
on the port using the long-preamble command. For details, refer to “Configuring a default stacking
port to function as a data port.”
Stackable devices ship with two default stacking ports configured. Use the stack-port command to
select only one of these factory default ports as the stacking port. If you do not configure stack-port,
both default ports will operate as stacking ports.
Use the default-port command to use ports other than the factory default ports as stacking ports. You
must configure default-port on each unit before building a stack. Once you have configured default-port on all units, you can then use any of the three stack construction methods to build a stack. The
active controller then learns the port configuration for each unit.
NOTE
You cannot change the setting for a default port if the port is in use.
Changing default stacking port configurations
For FCX-E and FCX-I devices, ports 1 and 2 of the optional 10 Gbps SFP+ module (slot 2) act as the
default stacking ports. You can change the default stacking ports to 3 and 4 on this module, or disable
stacking, on all of the module ports. The following example changes the default ports on a 10 Gbps
module from 1 and 2 to 3 and 4.
device 10g-1(config)# stack unit 1
10g-1(config-unit-1)#
10g-1(config-unit-1)# default-ports 1/2/3 1/2/4
FCX-I and FCX-E models cannot be used in a traditional stack without the addition of an optional 10
Gbps SFP+ module.
Slot and port designations for FastIron stackable devices TABLE 2
DeviceSlot 1Slot 2Slot 3Slot 4
FCX624S-F24 10/100/1000 ports on front panel Two 16 Gbps ports on
rear panel
FCX648S-F48 10/100/1000 ports on front panel Two 16 Gbps ports on
rear panel
FCX-E devices with fourport 1 Gbps SFP module
FCX-I devices with fourport 1 Gbps SFP module
FCX-E devices with fourport 10 Gbps SFP+
module
FCX-I devices with fourport 10 Gbps SFP+
module
Four-port 1 Gbps SFP module plus
the first four copper ports act as a
combo port. Slot 1 also contains the
remaining 20 10/100/1000 ports.
Four-port 1 Gbps SFP module plus
the first four copper ports act as a
combo port. Slot 1 also contains the
remaining 20 10/100/1000 ports.
48 10/100/1000 ports on front panel Four-port 10 Gbps
48 10/100/1000 ports on front panel Four-port 10 Gbps
N/AN/AN/A
N/AN/AN/A
SFP+ module
(supports stacking)
SFP+ module
(supports stacking)
Two 10 Gbps
ports on front
panel
Two 10 Gbps
ports on front
panel
N/AN/A
N/AN/A
N/A
N/A
NOTE
Do not connect stacking ports to non-stacking ports. Stacking ports have a proprietary packet format
that renders them incompatible with regular ports even when they are forwarding regular packets. In
linear topologies, make sure that end units have only one stacking port configured (secure-setup
automatically configures only one stacking port for an end unit).
Configuring a single stack port
To configure a single stack port, enter a command similar to the following.
device(config)# stack unit 3
device(config-unit-3)# stack-port 3/2/1
Syntax:[no] stack-portstack-unit/slotnum/portnum
If you enter an incorrect stack port number, you will get an error similar to the following.
Using secure-setup to build an FCX traditional stack
Error! port 3/4/1 is invalid
device(config-unit-3)# stack-port 3/2/1
To return both ports to stacking status, enter the no stack-port command on the single stacking port.
This converts both ports to stacking ports. By default, if both ports are stacking ports, they are
displayed by the system only when stacking is enabled. If only one port is configured as a stacking
port, the system always displays this port.
Using secure-setup to build an FCX traditional stack
You can use the secure-setup utility to build an FCX traditional stack by performing the following step.
Enter stack enable and stack secure-setup commands when you have designated the desired
stacking ports and connected your FCX units together, on stack unit 1, as shown in the following
output.
device# stack enable
device# stack secure-setup
device# Discovering the stack topology...
Available UPSTREAM units
Hop(s) Id Type MAC Address
1 new FCX648POE 0000.00d6.0511
2 new FCX624 0000.0099.0000
Enter the number of the desired UPSTREAM units (0-2)[0]: 2
Selected Topology:
Active Id Type MAC Address
1 FCX624POE 0000.00e5.0100
Selected UPSTREAM units
Hop(s) Id Type MAC Address
1 2 FCX648POE 0000.00d6.0511
2 3 FCX624 0000.0099.0000
Do you accept the unit ids (y/n)?: y
device# Election, was alone --> active, assigned-ID=1, total 3 units, my priority=128
Election, was active, no role change, assigned-ID=1, total 3 units, my priority=128
reset unit 2: diff bootup id=1
reset unit 3: diff bootup id=1
Election, was alone --> active, assigned-ID=1, total 3 units, my priority=128
Detect stack member 2 POE capable
Detect stack unit 2 has different startup config flash, will synchronize it
Detect stack unit 3 has different startup config flash, will synchronize it
Done hot swap: Set stack unit 3 to Ready
Done hot swap: Set stack unit 2 to Ready
Synchronize startup config to stack unit 2
Flash Memory Write (8192 bytes per dot).Synchronize startup config to stack unit 3
Flash Memory Write (8192 bytes per dot).POE: Stack unit 2 Power supply 1 with 4
10000 mwatts capacity is up
Stack unit 2 Power supply 2 is down
Stack unit 3 Power supply 1 is up
Stack unit 3 Power supply 2 is down
Config changed due to add/del units. Do write mem if you want to keep it
Election, was active, no role change, assigned-ID=1, total 3 units, my priority=128
device#
Config changed due to add/del units. Do write mem if you want to keep it
device# PoE Info: PoE module 1 of Unit 2 on ports 2/1/1 to 2/1/48 detected.
Initializing....
PoE Info: PoE module 1 of Unit 2 initialization is done.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX624POE active 0000.00e5.0100
128 local Ready
2 D FCX648POE standby
0000.00d6.0511 0 remote Ready
3 D FCX624 member
0000.0099.0000 0 remote Ready
standby active
+---+ +---+ +---+
| 3 |3/1--3/1| 2 |2/1--2/1| 1 |
+---+ +---+ +---+
Current stack management MAC is 0000.00e5.0100
device# write mem
Write startup-config done.
Flash Memory Write (8192 bytes per dot) .Flash to Flash Done.
Configuring a default stacking port to function as a data port
device#show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX624POE active 0000.00e5.0100
128 local Ready
2 S FCX648POE standby 0000.00d6.0511
0 remote Ready
3 S FCX624 member 0000.0099.0000
0 remote Ready
standby active
+---+ +---+ +---+
| 3 |3/1--3/1| 2 |2/1--2/1| 1 |
+---+ +---+ +---+
Current stack management MAC is 0000.00e5.0100
device#
Configuring a default stacking port to function as a data port
You can configure one of the two default stacking ports as a stacking port and the other port as a
regular data port. By default, the 4-byte Ethernet preamble for the Ethernet frame is used when a port is
configured as a default stacking port. This is done to compensate for extra overhead caused by
stacking protocol. To use a default stacking port as a regular data port, the Ethernet preamble must be
set to 8 bytes.
To configure a default port to use the long preamble, enter the long-preamble command at the
Interface level of the CLI.
Use the no form of the command to revert to the 4-byte Ethernet preamble.
Configuring an ICX 6610 traditional stack
ICX 6610 devices can be stacked using the methods and topologies described in Supported traditional
stacking topologies. This section describes how stacking ports on the ICX 6610 devices can be trunked.
ICX 6610 trunked stacking ports configuration
A trunk doubles the stacking port bandwidth, and provides better resilience. As long as at least one port
of the trunk is connected properly, the communication between the neighboring units will work. Traffic is
load balanced to the trunk ports. With large number of sessions, traffic should be well load balanced
between 40 Gbps and 4 x10 Gbps ports. Traffic should also be well distributed among the four subports of a 4 x10 Gbps port. If a 4 x10 Gbps sub-port fails due to hardware failure, traffic is re-distributed
to other ports. So, the stack system should still work. Periodical background diagnosis will print out
warning messages that any 4 x10 Gbps sub-port is down.
When a stacking port goes down, it should not cause stack election or topology change as long as the
other port of the same trunk is up. The traffic interruption time should be sub-second for the system to
detect the port down event and reprogram HW.
Stacking ports are trunked by default in ICX 6610 Series. You do not need to configure anything. The
system automatically generate trunk configuration. You must enable stacking and connect cables
properly for the stack to work.
The show trunk command shows user-configured or LACP trunks, and does not show stacking trunks.
At least one port of a trunk must be connected. If multiple ports of a trunk are connected, they must be
connected to the same trunk of other unit. For example, it is invalid that the two ports of a trunk
connect to two different units, or to different trunks of the same unit. Wrong connection might result in
stacking formation failure or other problems. Some invalid connections still form a stack but with
forwarding problems. Stack probe packets use the first connected port of a stacking trunk. So, as long
as the first connected port of a trunk is connected properly, a stack can form. However, packet
forwarding may not work for some streams that are hashed into the wrongly connected trunk port. In
such case, periodical background diagnosis task could detect wrong connections in about 20 minutes,
and it prints error messages.
Configuration notes for ICX 6610 stack topologies
•ICX 6610 devices do not allow users to change "stack-ports" configuration. Secure-setup sets the
endpoints of a linear FCX stack to data ports, but it does not do so for ICX 6610.
•ICX 6610 devices support up to 120 user-configured or LACP trunks. IDs 121-124 are reserved
for peri-trunk in mixed stacking.
NOTE
ICX 40 Gbps and 4 x 10 Gbps ports cannot be used as data ports, even when stacking is not enabled.
In standalone mode, they drop all packets, except stacking probe packets. Secure-setup and unit
replacement can therefore still discover a standalone unit.
Periodic background stack diagnosis for ICX 6610 devices
After a stack forms, the system periodically probes the topology to check the connections between
units of this stack. It can detect the following errors. The purposes are to detect user's connection
problem and hardware failures. Error messages are printed about every 10 minutes. If there is no
printout, there is no problem. This diagnosis runs in the background.
Manually triggering stack diagnosis
You can manually trigger the diagnosis using the show stack connection command.
1.Ports of the same trunk connect to different units.
2.Ports of the same trunk connect to different trunks of the same unit.
3.Sub-ports of the 4 x 10 Gbps are down.
4.One end of a 10 Gbps port is up and the other end is down.
5.Communication problems between units of the stack
The most common connection error is connecting a 40 Gbps port to a 4 x10 Gbps port. They use
the same type of cable. In such case, the system might show one end is up, and one end is down.
The stack cannot form, and the periodical background diagnosis task won't run at all.
Another connection error is that the two cables of a trunk go to different units, or to different trunks
of the same unit as in case 1 and 2. A stack might still form in these cases. But it may cause an
internal forwarding loop, or have forwarding problems.
Cases 3 to 5 are due to hardware failures or software problems.
For example, the active unit console pops up the following messages if sub-ports of 4 x10 Gbps
are down. The stack should still work because of trunks. If all sub-ports of 4 x10 Gbps are down,
the diagnosis prints nothing because it cannot distinguish hardware failure or the cable is not
connected.
*** Warning! miss 4*10G link 5/2/8(down)to 1/2/8(down). Stack can still work.
*** Warning! U1, dir=1, 4*10G ports: 1/2/8 are down.
*** Warning! U5, dir=1, 4*10G ports: 5/2/8 are down.
Please use "show stack conn" to view detailed connections
You can suppress the error messages by configuring "stack suppress-warning"
Stack port resiliency in ICX 6610 devices
In an ICX 6610 device, sometimes a stacking port cannot send or receive packets though the port is
logically operational. To detect this, probe packets are sent between the ICX 6610 units in a stack every
two seconds. If a port is logically operational and does not receive a probe packet for 60 seconds, it is
considered a malfunctioning port. To resolve this, you can configure the active controller to perform
correctional steps such as error-disabling malfunctioning ports and reloading one or more stack units.
You can use the show errdisable summary command to view a list of all error-disabled ports with the
reason for error-disabling these ports.
NOTE
A malfunctioning stack port that is error-disabled cannot be enabled until the unit is reloaded.
NOTE
Traffic interruption occurs for a few seconds or longer while the port malfunction is detected and fixed.
Configuring stack port resiliency in the ICX 6610
To configure stack port resiliency on an ICX 6610 device in a stack, run the stack stack-portresiliency command in global configuration mode.
This enables the active controller to perform correctional steps such as error-disabling
malfunctioning ports and reloading one or more stack units, depending on the value configured for
the level variable in this command.
The following example shows the configuration of stack port resiliency on a stack
with the level variable value set to 2.
Brocade(config)# stack stack-port-resiliency 2
Syslog messages for stack port resiliency
For stack port resiliency, syslog messages are generated when the active controller performs
correctional steps such as error-disabling malfunctioning ports, reloading one or more stack units, and
reloading an entire stack. These syslog messages do not have a fixed format. They also may not be
entirely accurate because of communication problems between stack units.
When a malfunctioning port is error-disabled, the stack unit generates a syslog message similar to the
following:
SYSLOG: <10>0d00h10m22s : ICX6610-24P Router Stack: port 2/2/8 U2 errdisable 2/2/8:
reason: 2/2/8 --> 1/2/8
PHY calibration errors in stack ports of the ICX 6610
When a stack unit reloads, the stack unit generates a syslog message similar to the following:
SYSLOG: <9>3d21h52m57s : ICX6610-24P Router Stack: unit 3 Reload u3 in 10 sec due
to 3/2/6 port problems. reason: lose one nbr
SYSLOG: <9>0d00h08m59s : ICX6610-48 Router Stack: unit 2 U3 detects stack port
problem. will reload u2: one directional CPU to CPU: u2 --> u3, one directional CPU
to CPU: u2 --> u4,
When the entire stack reloads, the active controller generates a syslog message similar to the
following:
SYSLOG: <9>0d00h12m07s : ICX6610-48 Router Stack: "stack stack-port-resiliency 3"
is configured. Active u3 reloads the stack in 5s. reason: no CPU to CPU: u1 -x- u4,
no CPU to CPU: u2 -x- u4, no CPU to CPU: u3 -x- u4,
SYSLOG: <9>0d00h12m28s : ICX6610-24P Router Stack: "stack stack-port-resiliency 3"
is configured. Active u1 reloads the stack in 5s. reason: 1: 1/2/1 (T0) --->
2/2/6 (T1) *** error: one-way 2: 1/2/2 (T0) ---> 2/2/7 (T1) *** error:
one-way 3: 1/2/3 (T0) ---> 2/2/8 (T1) *** error: one-way 4: 1/2/4 (T0) --> 2/2/9 (T1) *** error: one-way 5: 1/2/5 (T0) ---> 2/2/10(T1) ***
error: one-way one directional CPU to CPU: u2 --> u4,
PHY calibration errors in stack ports of the ICX 6610
On every boot initialization, an ICX 6610 device performs PHY calibration on the 40 Gbps and 4 x10
Gbps stack ports. Sometimes, this calibration is incorrect, and results in CRC errors and link drops on
a port. FastIron IronWare detects the calibration errors and, by default, recovers the port by
recalibrating it. You can use the no snmp-server enable traps nlp-phy-40g command to disable this
recovery of incorrectly calibrated stack ports. To re-enable the default behavior of recalibrating the
incorrectly calibrated stack ports for recovery, use the snmp-server enable traps nlp-phy-40g
command.
Syslog messages for PHY calibration
On boot initialization, an ICX 6610 device in a stack performs PHY calibration on its 40 Gbps and 4
x10 Gbps stack ports, and generates a syslog message. The following syslog message example
shows the calibration of all 16 ports (4 PHY with 4 lanes for each) on an ICX 6610 stack unit.
SYSLOG: <14>0d00h02m52s : ICX6610-48 Router System: Port init success Stack unit 3
Port 3/2/1 Lane 0 T 0 R 0 Type 0: 1630x00000x0000 1640x00000x0000 1710x00000x0000
1580x00000x0000 1630x00000x0000 1630x00000x0000 1640x00000x0000 1630x00000x0000
1670x00000x0000 1680x00000x0000 1690x00000x0000 1680x00000x0000 1650x00000x0000
1680x00000x0000 1660x00000x0000 1640x00000x0000
If any stack port in an ICX 6610 device has the PHY Tx or Rx CMU (voltage) reaching a threshold
value of 31 and the port is re-calibrated, the stack unit generates a syslog message similar to the
following:
Configuring an ICX 6430 and ICX 6450 traditional stack
Configuring an ICX 6430 and ICX 6450 traditional stack
ICX 6430 and ICX 6450 devices can be stacked using the methods and topologies described in
“Connecting ICX 6450 and ICX 6430 devices in a traditional stack.” The following sections describe how
stacking ports on theICX 6430 and ICX 6450 devices can be trunked to form a single trunk-to-port
connection on two directly connected stack units, how to configure a double port trunk configuration on
theICX 6430 and ICX 6450 devices, and what error messages that may occur when configuring an ICX
6430 or ICX 6450 traditional stack.
Configuring ICX 6430 or ICX 6450 trunked stacking ports
NOTE
Use the stack-trunk command in a new environment on first deployment; use the multi-stack-trunk
command in a production environment.
The stack-trunk command forms a single trunk-to-port connection on two connected stack units. A
trunk-to-port connection is formed when one side of the ports forms a trunk, and the other side of the
ports does not. You can use the stack-trunk command to configure a stack trunk if one or both of the
units are provisional units. You must enable stacking and connect cables properly for the stack to work.
To enable the stack-trunk command, the primary port in the trunk must be configured under the stack-port command configuration.
For ICX 6450 devices, the data ports on both units must be configured to 10 Gbps port speed to enable
trunking. To upgrade to 10 Gbps port speed on ports 2 and 4, use the ICX6450-2X10G-LIC-POD
license. If the data port is not enabled for 10 Gbps port speed, the port status is down. For more
information about configuring ports to 10 Gbps port speed, refer to "Licensing for Ports on Demand"
section in the FastIron Ethernet Switch Administration Guide.
Configure a stack truck by entering the following command under the stack unit configuration level.
Brocade (config)#stack unit 1
Brocade (config-unit-1)#stack-trunk 1/2/3 to 1/2/4
The following warning is displayed on the CLI if the stack-trunk command results in a trunk-to-port
connection.
Error- this command will result in a port-to-trunk connection between stack 1 and 2.
Please use "multi-stack-trunk" command instead.
Use the multi-stack-trunk command to configure a stack trunk on two directly connected stack units to
ensure that a trunk-to-trunk connection is formed on both units at the same time.
Syntax:[no] stack-trunk
Use the no form of the command to disable the stack trunk configuration.
To save the configuration, enter the write memory command.
Configuring ICX 6430 or ICX 6450 multi-trunked stacking ports
To upgrade from a single to a double port trunk configuration, use the multi-stack-trunk command.
The multi-stack-trunk command is used to ensure that a stack trunk is formed on two directly
connected stack units at the same time. The multi-stack-trunk command can only be enabled on the
active controller unit. By configuring a multi-stack-trunk on two sets of connected stack ports, a trunk-toport connection is avoided. A trunk-to-port connection is formed when one side of the ports forms a
trunk, and other side of the ports does not. A trunk-to-port connection can result in packet drops and
can potentially break a stacking link.
The primary ports of the stack trunk must be connected and in an up status to enable the multi-stack-trunk command. If the primary stack trunk ports are not connected and not in an up status, the
command is rejected and the following error message is displayed on the CLI.
Error- Primary trunk port 1/2/3 is not UP; removing the trunk might break the stack
To upgrade to a double port trunk configuration, enter the multi-stack-trunk command under the
stack unit configuration level. Enter the following command.
device(config)#stack unit 1
device(config-unit-1)# multi-stack-trunk 1/2/3 to 1/2/4 and 2/2/1 to 2/2/2
device(config-unit-1)#stack unit 2
device(config-unit-2)# multi-stack-trunk 2/2/3 to 2/2/4 and 3/2/1 to 3/2/2
Syntax:[no] multi-stack-trunk
Use the no form of the command to disable the configuration of the two connected stack trunk ports.
Displaying multi-trunked stacking configuration
When upgrading to a double port trunk configuration using the multi-stack-trunk command, the
configuration is not saved in the running or start-up configuration. Instead, the configuration for the
multi-stack-trunk command is saved as stack-trunk ports. Use the show running-config command
to display the configuration for multi-trunked stacking ports. For example, the following command is
entered.
device(config-unit-1)# multi-stack-trunk 1/2/3 to 1/2/4 and 2/2/1 to 2/2/2
The running or start-up configuration displays the following configuration for the show running-config
command.
device#show running-config
stack unit 1
module 1 icx6450-48p-poe-port-management-module
module 2 icx6450-sfp-plus-4port-40g-module
stack-trunk 1/2/3 to 1/2/4
stack-port 1/2/1 1/2/3
stack unit 2
module 1 icx6450-24-port-management-module
module 2 icx6450-sfp-plus-4port-40g-module
stack-trunk 2/2/1 to 2/2/2
stack-port 2/2/1 2/2/3
Periodic background stack diagnosis for ICX 6430 and ICX 6450
devices
After a stack forms, the system periodically probes the topology to check the connections between
units of this stack. It can detect the following errors. The purposes are to detect user's connection
problem and hardware failures. Error messages are printed about every 10 minutes. If there is no
printout, there is no problem. This diagnosis runs in the background.
Manually triggering stack diagnosis
You can manually trigger the diagnosis using the show stack connection command.
Error messages encountered during the configuration of an ICX 6430 or ICX 6450 traditional stack
1.Ports of the same trunk connect to different units.
2.Ports of the same trunk connect to different trunks of the same unit.
3.One end of a 10G port is up and the other end is down.
4.Communication problems between units of the stack
Another connection error is that the two cables of a trunk go to different units, or to different trunks
of the same unit as in case 1 and 2. Stack might still form in these cases. But it may cause internal
forwarding loop, or have forwarding problem.
Cases 3 to 5 are due to hardware failures or software problems.
Error messages encountered during the configuration of an ICX 6430 or
ICX 6450 traditional stack
The following error messages may occur when configuring an ICX 6430 orICX 6450 traditional stack:
•If you form a multi-trunk connection on two sets of stack ports that are not directly connected on
neighboring units, the multi-stack-trunk command is rejected and an error message is displayed.
The following is an example of an error message.
Error! 1/2/3 has no connection. Please use "stack-trunk".
•When a unit joins or leaves a stack, or a stack trunk is configured using the stack-trunk command,
a stack election is triggered. The multi-stack-trunk command triggers a stack election among the
stack units and reprograms (or removes) the stack trunk port in the hardware. A timer is set on all
units to coordinate a stack election. The traffic interruption time generally takes less than 5 seconds
for the system to detect the port down event and reprogram hardware. You must wait for the stack
election to be completed before entering another command. If you do not wait for the stack election
to finish, the following warning message is displayed.
Stack port or trunk change is in progress, please try later.
•You cannot enter the stack switch-over command until the stack election is completed. You can
enter the stack switch-over command following the multi-stack-trunk command configuration. If
you enter the stack switch-over command before the stack election is completed, the following
warning message is displayed.
Please try later, reason: during stack port or trunk deployment.
•If ports 2 and 4 of theICX 6450 device are not configured to 10 Gbps port speed, then the multistack-trunk command and the stack-trunk command are rejected with the following error
message.
Error! port 1/2/2 is not configured as 10G
You must first enable the port to 10 Gbps port speed using the speed-duplex 10g-full command. For
more information about configuring ports to 10 Gbps port speed, refer to “Licensing for Ports on
Demand” in the FastIron Ethernet Switch Administration Guide .
•You cannot use the stack-port command to remove a stacking port if the port is part of a stack
trunk. You must first remove the stack trunk and then remove the stack port. Use the stack-trunk
command or the multi-stack-trunk command to remove the stack trunk. If you attempt to remove
the stack port before removing the stack trunk, an error message is displayed. The following is an
example of an error message.
Please remove stack-trunk 1/2/3 - 1/2/4 using "stack-trunk" or "multi-stack-trunk"
command before removing stack port 1/2/3.
Log in to the active controller and verify the stack information by entering the show running-config
and show stack or show stack detail commands. If your stack is configured properly, you should see
the following:
•One active controller, one standby controller, and stack members.
•All stack members show a status of Ready
The following output shows an example configuration of an FCX traditional stack.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
2 S FCX648POE standby
0000.0002.0000 0 remote Ready
3 S FCX624POE member
0000.0003.0000 0 remote Ready
4 S FCX648 member
0000.0004.0000 0 remote Ready
5 S FCX648POE member
0000.0000.0000 0
remote Ready
8 S FCX648POE active
0000.0001.0000 128 local Ready
active standby
+---+ +---+ +---+ +---+
-2/1| 8 |2/2--2/1| 4 |2/2--2/1| 3 |2/2--2/1| 2 |2/2| +---+ +---+ +---+ +---+ |
|--------------------------------------------------|
Current stack management MAC is 0000.0001.0000
Results for ICX devices are similar, with an equals sign (=) to show connections between trunk ports,
rather than the hyphen symbol (-) showing connections.
The next example shows output from the show version command for the same FCX stack.
device# show version
Copyright (c) 1996-2009 Brocade Communications Systems, Inc.
UNIT 8: compiled on Jun 17 2009 at 06:23:29 labeled as FCX06000a359
(3578117 bytes) from Primary FCX06000a359.bin
SW: Version 06.0.00a359T7f1
UNIT 2: compiled on Jun 17 2009 at 06:23:29 labeled as FCX06000a359
(3578117 bytes) from Primary FCX06000a359.bin
SW: Version 06.0.00a359T7f1
UNIT 3: compiled on Jun 17 2009 at 06:23:29 labeled as FCX06000a359
(3578117 bytes) from Primary FCX06000a359.bin
SW: Version 06.0.00a359T7f1
UNIT 4: compiled on Jun 17 2009 at 06:23:29 labeled as FCX06000a359
(3578117 bytes) from Primary FCX06000a359.bin
SW: Version 06.0.00a359T7f1
Boot-Monitor Image size = 365257, Version:06.0.00T7f5 (grz06000)
HW: Stackable FCX648P-POE
==========================================================================
UNIT 2: SL 1: FCX-48G POE 48-port Management Module
P-ENGINE 0: type DB90, rev 01
P-ENGINE 1: type DB90, rev 01
==========================================================================
UNIT 2: SL 2: FCX-2XGC 2-port 16G Module (2-CX4)
==========================================================================
UNIT 3: SL 1: FCX-24G POE 24-port Management Module
P-ENGINE 0: type DB90, rev 01
==========================================================================
UNIT 3: SL 2: FCX-2XGC 2-port 16G Module (2-CX4)
==========================================================================
UNIT 3: SL 3: FCX-2XG 2-port 10G Module (2-XFP)
==========================================================================
UNIT 4: SL 1: FCX-48G 48-port Management Module
P-ENGINE 0: type DB90, rev 01
P-ENGINE 1: type DB90, rev 01
==========================================================================
UNIT 4: SL 2: FCX-2XGC 2-port 16G Module (2-CX4)
==========================================================================
UNIT 4: SL 3: FCX-2XG 2-port 10G Module (2-XFP)
==========================================================================
UNIT 8: SL 1: FCX-48G POE 48-port Management Module
P-ENGINE 0: type DB90, rev 01
P-ENGINE 1: type DB90, rev 01
==========================================================================
UNIT 8: SL 2: FCX-2XGC 2-port 16G Module (2-CX4)
==========================================================================
800 MHz Power PC processor (version 33/0022) 144 MHz bus
65536 KB flash memory
256 MB DRAM
Monitor Option is on
STACKID 8 system uptime is 21 hours 2 minutes 23 seconds
STACKID 2 system uptime is 21 hours 2 minutes 22 seconds
STACKID 3 system uptime is 21 hours 2 minutes 23 seconds
STACKID 4 system uptime is 21 hours 2 minutes 22 seconds
The system : started=warm start reloaded=by "reload"
My stack unit ID = 8, bootup role = active
*** NOT FOR PRODUCTION ***
NOTE
For field descriptions for the show-running config command, refer to the “Displaying running
configuration information.”
NOTE
For field descriptions for the show stack and show stack detail commands, refer to the “Displaying
stack information.”
The output from the show stack command contains a visual diagram of the stack. The dashed line
between ports 1/2/1 and 3/2/1 indicates that this stack is configured in a ring topology. If the link
between ports 1/2/1 and 3/2/1 is lost, the stack topology changes to linear, and the diagram changes to
resemble the following.
active standby
+---+ +---+ +---+
-2/1| 1 |3/1--2/1| 2 |3/1--2/2| 3 |2/1-
+---+ +---+ +---+
The interfaces at either of a stack member are stacking ports. If no interface is displayed, it indicates
that there is no stacking port configured. For example, the following diagram shows that stack units 1
and 3 each have only one stacking port configured.
For more detailed information, you can enter the show stack detail command.
Brocade traditional stack management
Your Brocade traditional stack can be managed through a single IP address. You can manage the stack
using this IP address even if you remove the active controller or any member from the stack. You can
also connect to the active controller through Telnet or SSH using this address. All management
functions, such as SNMP, use this IP address to acquire MIB information and other management data.
A Brocade traditional stack can be configured and managed using the command line interface (CLI)
over a serial connection to a console port.
You can access the traditional stack and the CLI in two ways:
•Through a direct serial connection to the console port
•Through a local or remote Telnet session using the stack IP address
You can initiate a local Telnet or SNMP connection by attaching a cable to a port and specifying the
assigned management station IP address.
The stacking commands in the CLI are organized into the following levels:
•Global - Commands issued in the global mode are applied to the entire stack.
•Configuration Mode - This is where you make configuration changes to the entire stack. To save
•Stack Unit Configuration Mode - Commands issued in this mode apply to the specified stack
NOTE
By default, any user who can open a serial or Telnet connection to the traditional stack can access all
of these CLI levels. To secure access, you can configure Enable passwords or local user accounts, or
you can configure the active controller to use a RADIUS or TACACS/TACACS+ server for
authentication. Refer to the FastIron Ethernet Switch Security Configuration Guide .
changes across reloads, you need to save them to the active controller startup-config file. The
configuration mode contains sub-levels for individual units and ports, for VLANs, for routing
protocols, and other configuration areas.
unit. Configuration information resides in the active controller.
Logging in through the console port
When a device becomes a stack member in the traditional stack, it establishes a remote connection to
a virtual console port on the active controller. Input and output are relayed between the physical
console port on the stack member and the virtual console port on the active controller. Since each
stack member connects to an independent virtual console port on the active controller, the console
ports on multiple stack units may be used simultaneously. However, messages displayed on the active
controller physical console port during a reload will not be visible on the console ports of the stack
members because the remote connections are not established until the software loading process is
complete. It is preferable to connect a cable to the console port on the stack unit that will normally be
the active controller, rather than to the console port of one of the other stack units.
When a stack unit establishes communication with the active controller, it also establishes a remote
console session to the active controller. In a normally functioning traditional stack, a console cable
may be connected to any of the stack units and provide access to the same commands on the active
controller.
You can terminate a session by entering Ctrl+O followed by x or X , or by entering the exit command
from the User EXEC level, or by entering the logout command at any level.
NOTE
For the rconsole connections from the stack units to the active controller, the escape sequence and
other methods of terminating the session are not available.
Error messages that are generated during a reload of the active controller will not appear on rconsole
connections from the stack units to the active controller. To see these error messages, you must
connect a console cable to the active controller itself.
To establish an rconsole session, enter the rconsole command as shown:
device# rconsole 1
Syntax:rconsolestack-unit
The following example shows how to establish rconsole sessions to stack members. Notice that the
show stack command on the stack members displays different information than what is shown when
the show stack command is entered on the active controller.
To see the status of your stack units, enter the show stack command on the active controller.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX648P active 0000.00de.8100
128 local Ready
2 S FCX624P standby 0000.00e2.ba40
0 remote Ready
3 S FCX624P member 0000.007a.22c0
0 remote Ready
active standby
+---+ +---+ +---+
-2/1| 1 |3/1--2/1| 2 |3/1--2/2| 3 |2/1-
| +---+ +---+ +---+ |
| |
|-------------------------------------|
Current stack management MAC is 0000.00de.8100
device#
NOTE
For field descriptions for the show stack command, refer to “Displaying stack information.”
Establish a remote console session with stack unit 2.
device# rconsole 2
Connecting to unit 2... (Press Ctrl-O X to exit)
rconsole-2@device#show stack
ID Type Role Mac Address Prio State Comment
2 S FCX624P standby 0000.00e2.ba40 0 local Ready
rconsole-2@device# exit
rconsole-2@device> exit
Disconnected. Returning to local session...
Establish a remote console session with stack unit 3.
device# rconsole 3
Connecting to unit 3... (Press Ctrl-O X to exit)
rconsole-3@device#show stack
ID Type Role Mac Address Prio State Comment
3 S FCX624P member 0000.007a.22c0 0 local Ready
rconsole-3@device# logout
Disconnected. Returning to local session...
rconsole-3@device#
The traditional stack is identified in the network by a single MAC address, usually the MAC address of
the active controller (the default). If a new active controller is elected, the MAC address of the new
active controller (by default) becomes the MAC address for the entire stack. However, you can
manually configure your stack to use a specified MAC address.
In a traditional stack, the management MAC address is generated by the software, and is always the
MAC address of the first port of the active controller. This ensures that the management MAC address
remains consistent across stack reboots, and helps prevent frequent topology changes as a result of
protocol enable, disable, and configuration changes.
When you are configuring Layer 2 protocols on stack units, such as STP, RSTP, and MSTP, the
management MAC address of the active controller acts as the Bridge ID.
You can also configure the traditional stack to retain its original MAC address, or wait for a specified
amount of time before assuming the address of a new active controller, using the Persistent MAC
Address feature (refer to “Persistent MAC address for the traditional stack”).
Manually allocating the traditional stack MAC address
You can manually configure your traditional stack to use a specific MAC address. This overrides the
default condition where the stack uses the MAC address of whatever unit is currently serving as active
controller.
NOTE
The stack mac command is useful for administration purposes, however it should be used with
caution to prevent duplication of MAC addresses.
NOTE
For hitless stacking failover, Brocade recommends that you configure the traditional stack MAC
address using the stack mac command. Without this configuration, the MAC address of the stack will
change to the new base MAC address of the active controller. This could cause a spanning tree root
change. Even without a spanning tree change, a client (for example, a personal computer) pinging the
stack might encounter a long delay depending on the client MAC aging time. The client won’t work
until it ages out the old MAC address and sends ARP requests to relearn the new stack MAC address.
To configure a stack MAC address manually, enter the following command.
device(config)# stack mac 0000.0000.0011
Syntax:[no] stack macmac-address
The mac-address variable is a hexadecimal MAC address in the xxxx.xxxx.xxxx format.
Enter the no form of this command to return the MAC address to that of the active controller.
Output for this command resembles the following.
device(config)# stack mac 0000.0000.0011
device(config)# show running-config
Current configuration:
!
ver 05.0.01 100T7e1
!
stack 1
module 1 fcx-48-port-copper-base-module
module 2 fcx-cx4-1-port-10g-module
priority 80
To display the stack MAC address, enter the show chassis command.
device# show chassis
The stack unit 1 chassis info:
Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 not present
Fan 1 ok
Fan 2 ok
Exhaust Side Temperature Readings:
Current temperature : 35.5 deg-C
Warning level.......: 80.0 deg-C
Shutdown level......: 90.0 deg-C
Intake Side Temperature Readings:
Current temperature : 33.5 deg-C
Boot Prom MAC: 0000.00de.9440
Management MAC: 0000.0000.0011
The stack unit 2 chassis info:
Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 not present
Fan 1 ok
Fan 2 ok
--More--, next page: Space, next line: Return key, quit: Control-c
NOTE
For field descriptions for the show chassis command, refer to “Displaying traditional stack chassis
information.”
Removing MAC address entries
You can remove the following types of learned MAC address entries from the Brocade system MAC
address table:
•All MAC address entries
•All MAC address entries for a specified Ethernet port
•All MAC address entries for a specified VLAN
•A specified MAC address entry in all VLANs
For example, to remove entries for the MAC address 0000.0080.00d in all VLANs, enter the following
command at the Privileged EXEC level of the CLI.
•If you enter the clear mac-address command without any parameters, the software removes all
MAC entries.
•Use the mac-address variable to remove a specified MAC address from all VLANs. Specify the
MAC address in the following format: HHHH.HHHH.HHHH.
•Use the ethernetport parameter to remove all MAC addresses for a specified Ethernet port.
Specify the port variable in the format stack-unit/slotnum/portnum
•Use the vlannumber parameter to remove all MAC addresses for a specified VLAN.
Stack units are identified by numbers 1 though 8. You can display stack unit IDs by entering the show
stack command.
A new device (one that has not been connected in traditional stack or has not been manually assigned
a stack unit number) ships with a default number of 1. Once you enable stacking and the unit becomes
part of a traditional stack, its default stack unit number changes to the lowest available number in the
stack. You can configure the stack suggested-id command in a standalone unit before it joins a stack
to assign this unit the suggested ID.
Stack units must each have a unique identification number. Every stack member, including any
standalone units, retains its stack unit number unless that number is already being used in the stack,
or until you manually renumber the unit using secure-setup. For more information about how to
renumber stack IDs using secure-setup, refer to “Renumbering stack units.”
Traditional stack unit priority
A unit with a higher priority is more likely to be elected active controller. The priority value can be 0 to
255 with a priority of 255 being the highest. The default priority value assigned to the active controller
and standby is 128.
You can assign the highest priority value to the stack unit you want to function as the active controller.
When you enter a new priority value for a stack unit, that value takes effect immediately, but does not
affect the current active controller until the next reset. However, if you enable hitless stackingfailover, the stack unit with the highest priority will become the active controller in about five minutes
(2 minutes in the case of ICX 6430 devices).
You can give your active and standby controllers the same priority, or different priorities (active
highest, standby second-highest). When active and standby controllers have the same priority, if the
active fails and the standby takes over, then the original active becomes operational again, it will not
be able to resume its original role if the new active controller has more members.
In the same situation, when the priorities of the active and standby controllers are different, the old
active controller will regain its role and will reset the other units.
For example, suppose both active and standby controllers have the same priority. If there are more
than two units in a stack and the active controller leaves and comes back, it cannot win back the active
role because the new active controller has more members than the old active controller, which has no
members. In this case, both the old active controller and new active controller have no members, so
the unit with the longer up time wins the active role. If the old active controller is reset, it cannot win. If
the old active controller is not reset, it could win due to longer up time on up time or lower unit ID.
When the active controller and standby controller have the same priority, the system allows a stack
switchover if the hitless-failover enable command is configured. It is used to switch the role between
the active controller and standby controller without traffic interruption.
If you want to assign the same priority to the active and standby controllers, you must do so after the
stack is formed. This prevents the intended standby controller from becoming the active controller
during stack construction.
Changing the priority of a stack member will trigger an election that takes effect immediately unless
the active controller role changes. If this is the case, the changes will not take effect until after the next
stack reload. However, if you enable the hitless stacking failover command, the stack unit with the
highest priority will become the active controller without reload.
To display stack member priority values, enter the show stack command.
device(config-unit-3)# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role Mac Address Pri State Comment
1 S FCX624 active 0000.00eb.a900
128 local Ready
2 S FCX624 standby 0000.004f.4243
0 remote Ready, member after reload
3 S FCX624 member 0000.005d.a100
200 remote Ready, active after reload
device(config-unit-3)#
Changing the priority of a stack unit
To change the priority value for a stack unit, enter the priority command.
device(Config)# stack unit 1
device(Config-unit-1)# priority 128
Once a change in priority value has taken effect, if you have enabled hitless stacking failover, the
stack unit with the highest priority will become the active controller without reload.
Syntax:prioritynum
The num variable is a value from 0 through 255. 255 is the highest priority.
CLI command syntax for stack units
CLI syntax that refers to stack units must contain all of the following parameters:
•stack-unit - If the device is operating as a standalone, the stack-unit will be 1. Stack IDs can be any
number from 1 through 8.
•slotnum - Refers to a specific group of ports on each device.
•portnum - A valid port number.
Traditional stack CLI commands
For more information about CLI commands and syntax conventions, refer to the FastIron Ethernet
Switch Administration Guide.
Stacking CLI commands TABLE 3
CommandDescription location
copy flash flashCopying the flash image to a stack unit from the active controller on page 57
clear stack ipcTroubleshooting an unsuccessful stack build on page 85
cx4-10gChanging FCX-S and FCXS-F CX4 ports from 16 Gbps to 10 Gbps on page 34
kill console"Configuring TACACS/TACACS+ for devices in a Traditional stack" in the FastIron
Ethernet Switch Security Configuration Guide
priorityTraditional stack unit priority on page 52
rconsoleLogging in through the console port on page 48
reload stack unitReloading a stack unit on page 57
hitless-failover enableEnabling hitless stacking on page 108
stack switch-overExecuting a hitless stacking switchover on page 111
show stackDisplaying information about hitless stacking on page 116
show stack failoverDisplaying information about stack failover on page 117
show stack link-syncDisplaying information about link synchronization status on page 117
Enabling the stacking mode
When a unit is stack-enabled or joins a stack either actively or passively, it reserves priority queue 7 for
stacking traffic control, assigns buffers for the stacking ports, and configures the first two 10 Gbps ports
as stacking ports.
NOTE
Designated stacking ports cannot contain any configuration information, such as VLAN membership,
and so on. If configuration information exists, stack enable will fail. You must remove all configuration
information from the port and re-issue the stack enable command.
To enable stacking mode on a new unit before you add it to the stack, enter the following command.
device(config)# stack enable
Enable stacking. This unit actively participates in stacking
Syntax:[no] stack enable
To see the configuration of the stack at any time, enter the show running-config command.
To remove stacking capability, enter the no stack enable command. This prevents the unit from
actively sending out probe messages, however the unit could still be called to join a stack by an active
controller. To prevent this, enter the stack disable command.
The stack disable command prevents a unit from sending or listening for any stacking probe
messages. In this mode, the unit cannot be forced to join a stack.
device(config)# stack disable
Syntax:[no] stack disable
To remove this restriction, enter the no stack disable command.
Important notes about stacking images
Consider the notes in this section when upgrading from a pre-stacking release to a stacking release, or
when reverting from a stacking release to a pre-stacking release.
Refer to the release notes for instructions about upgrading the software.
Converting from a pre-stacking image to a stacking image
Converting from a pre-stacking image to a stacking image
When you boot a stacking image (release 05.X or later) on a device with a pre-stacking (pre-release
05.X) startup-config.txt file, the system automatically converts the interface format from 0/X/X to 1/X/X.
In addition, when a write memory command is issued, the pre-stacking startup-config.txt file is
renamed to start-config.v4 and saved as a backup file.
NOTE
If you enter the erase startup-config command or stack unconfigure clean command, all startupconfig txt-related files, such as startup-config.v4 and startup-config.old are erased. You will no longer
be able to recover pre-stacking startup-config.txt files.
Encountering a problem after upgrading and reloading the software
If you encounter a problem after upgrading and reloading the software, make sure the device has the
correct boot code version and the following (if applicable) are installed correctly:
•EEPROM
•Memory DIMM
If the stacking EEPROM is missing or is not installed correctly, or if you have installed the wrong
EEPROM, you will see output similar to the following.
FCX MEM size: 0x10000000
FCX Flash config....
FCX Boot Code Version 05.0.01
Enter ‘b’ to stop at boot....
BOOT INFO: load monitor from primary, size=103408
BOOT INFO: load image from primary..........
BOOT INFO: bootparam at 000543e8, mp_flash_size=002ee6c5
BOOT INFO: code decompression completed
BOOT INFO: branch to 00400100
Starting Main Task.......
*****************************************************************************
ERR: This software needs License PROM to be installed in the system
*****************************************************************************
System Reset!
If your memory DIMM is not installed correctly, you will see output similar to the following.
FCX Mem size: 0x8000000
Flash Config...
FCX Boot Code Version 05.0.01
Enter ‘b’ to stop at boot.....
BOOT INFO: load monitor from primary, size = 103380
BOOT INFO: debug enabled!!
BOOT INFO: load image from primary...
BOOT INFO: bootparam at 00054338 mp_flash_size = 002f1aeb
BOOT INFO: code decompression completed
BOOT INFO: branch to 00400100
Starting Main Task...
*****************************************************************************
ERR: This software requires 256M memory to be installed in the system.
*****************************************************************************
System Reset!
When you have confirmed that your hardware upgrade is installed correctly, restart the system and
check the software version using the show version command.
All units in a traditional stack must be running the same software image. To confirm this, check the
software version on all devices that you want to add to your traditional stack. Upgrade any units that are
running older versions of the software before you build your stack.
1.Telnet, SSH, or connect to any of the console ports in the stack.
2.Enter the show version command. Output similar to the following is displayed.
device# show version
Copyright (c) 1996-2010 Brocade Communications Systems, Inc.
UNIT 1: compiled on Jan 26 2010 at 22:16:08 labeled as FCX07001
(2441570 bytes) from Primary fcx07001.bin
SW: Version 07.0.0151T7e1
UNIT 2: compiled on Jan 26 2010 at 22:16:08 labeled as FCX07001
(2441570 bytes) from Primary fcx07001.bin
SW: Version 07.0.0151T7e1
UNIT 3: compiled on Jan 26 2010 at 22:16:08 labeled as FCX07001
(2441570 bytes) from Primary fcx07001.bin
SW: Version 07.0.0151T7e1
UNIT 4: compiled on Jan 26 2010 at 22:16:08 labeled as FCX07001
(2441570 bytes) from Primary fcx07001.bin
SW: Version 07.0.0151T7e1
NOTE
If any unit in the traditional stack is running an incorrect version of the software, it will appear as
non-operational. You must install the correct software version on that unit for it to operate properly
in the stack.
Copying the flash image to a stack unit from the active controller
To copy the flash image to a stack unit from the active controller primary or secondary flash, enter the
following command.
•unit-id-pri - Copy active primary image to unit ID
•unit-id-sec - Copy active secondary image to unit ID
The unit-id-pri and unit-id-sec keywords are used to copy images to a stack member from the active
controller primary and secondary flash, respectively. For unit-num, enter a value from 1 through 8.
NOTE
You do not have to manually copy the flash image to a mismatched stack unit. For more information,
refer to “Auto Image Copy for stack units.”
Reloading a stack unit
To reload a stack unit, enter the following command.
device# reload
Syntax:reload [ after | at | cancel | unit-id unit-list ]
•after - Schedule reloading after certain time period
•at - Schedule reloading at an exact later time
•cancel - Cancel scheduled reload
•unit-id - Stack members to reload. The unit-list variable can be a combination, such as 2,4-6,8.
Stack units can be reloaded only if they are not the active master. To reload the active master, use the
stack switch-over command. When hitless failover is enabled, reloading the active master happens
automatically.
When switchover occurs, the old mater unit can be reloaded using the reload unit command.
Controlling stack topology
Because Stackable devices allow you to use one of the two ports intended for stacking as a regular
data port, you can control the size of your stack. The following example shows a stack where the
existing ring topology is changed so that only one unit in the upstream direction is connected through a
stacking port, which limits the size of the stack to two units.
device# stack secure-setup
device# Discovering the stack topology...
Current Discovered Topology - RING
Available UPSTREAM units
Hop(s) Type MAC Address
1 FCX624 0000.00d5.2100
2 FCX624 0000.005d.9940
Available DOWNSTREAM units
Hop(s) Type MAC Address
1 FCX624 0000.005d.9940
2 FCX624 0000.00d5.2100
Do you accept the topology (RING) (y/n)?: n
Available UPSTREAM units
Hop(s) Type MAC Address
1 FCX624 0000.00d5.2100
2 FCX624 0000.005d.9940
Available DOWNSTREAM units
Hop(s) Type MAC Address
1 FCX624 0000.005d.9940
2 FCX624 0000.00d5.2100
Enter the number of the desired UPSTREAM units (0-2)[0]: 1
Enter the number of the desired DOWNSTREAM units (0-1)[0]:
Selected Topology:
Active Id Type MAC Address
1 FCX624 0000.0039.2d40
Selected UPSTREAM units
Hop(s) Id Type MAC Address
1 2 FCX624 0000.00d5.2100
Do you accept the unit ids (y/n)?: y
device#Election, was alone --> active, assigned-ID=1
reset unit 2: diff bootup id=1
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX624 active 0000.0039.2d40 128
local Ready
2 S FCX624 standby 0000.00d5.2100 0
remote Ready
Tokens must be separated by a comma and there is no space.
Managing traditional stack partitioning
When a unit in a traditional stack with a linear topology fails, the traditional stack divides (partitions)
into two or more separate stacks that all have the same configuration. This may cause an IP address
conflict in the network. If you want to keep the stacks separate, you will need to change the IP address
of each new stack.
When a stack breaks into partitions, the partition with the active controller remains operational. If a
partition contains the standby controller, this partition will become operational because the standby
controller will assume the active role and will reload the partition units. If the hitless-failover enable
command is configured, the partition units are not reloaded. A partition without an active or standby
controller will not function. To reconfigure these units to act in standalone mode, you must first enter a
stack unconfigure me command on each unit.
To reverse the partitioning, reconnect all of the units into the original stack topology using the stacking
ports. This is the same as merging stacks. If the original active controller again has the highest priority,
it will regain its role. If two partition active controllers have the same priority, the active controller with
the most stack members will win the election. This process helps minimize traffic interruption.
Ring topology stacks do not partition in the event of a member failure. Operation is interrupted briefly
while the stack recalculates a new path. Ring topologies are more stable than linear topologies because
they provide redundant pathways in case of accidental failure.
Merging traditional stacks
Traditional stacks may be merged, but the total number of stack units must not exceed eight. For
example, you could combine two stacks with four units each into a single stack of eight units.
You can merge stacks by connecting them together using the stacking ports. Before doing this, make
sure that none of the stacking ports have been reconfigured as data ports (for example, ports on an end
unit in a linear stack topology). You cannot use secure-setup to merge stacks because secure-setup
does not work across stack boundaries.
When stacks are merged, an election is held among the active controllers. The winner retains its
configuration and the IDs of all of its original stack members. The remaining stack units lose their
configuration and are reset. If the IDs of the losing stack units conflict with the IDs of the winning units
they may change, and the IDs will no longer be sequential. You can use secure-setup to renumber the
members in the newly merged stack. The following examples show how stack merging works:
•If a stack partitions into multiple stacks because of a connection failure, and you fix the connection,
the stack partitions will merge back into the original stack with no change to stack IDs, because in
this case all stack IDs are distinct.
•In a linear stack topology, the end units of the stack will have only one stacking port configured.
Before you can merge two linear stacks, you must reconfigure the end units so that both ports are
stacking ports.
MIB support for the traditional stack
All statistics about packets received and sent, RMON, jumbo frames, runts, giants, and other instances
are gathered through the stack interfaces and are accessible through SNMP. The functionality for
traditional stack is the same as that for a standard 10 Gbps interface. Information includes types of
modules, including optics modules.
NOTE
A type counter has been added to count the number of packets greater than 1518 bytes (jumbo
frames).
Persistent MAC address for the traditional stack
The MAC address for the entire traditional stack is determined by the MAC address of the active
controller. When an active controller is removed from the stack, and a new active controller is elected,
by default the MAC address of the new active controller becomes the MAC address for the traditional
stack. When you enable the Persistent MAC Address feature, you configure a time delay before the
stack MAC address changes. During this configured interval, if the previous active controller is
reinstalled in the stack, the stack continues to use the MAC address of this unit, even though it may no
longer be the active controller. If the previous active controller does not rejoin the stack during the
specified time interval, the stack assumes the address of the new active controller as the stack MAC
address.
The Persistent MAC Address feature allows you to configure a period of time during which the original
base MAC address will not change if the active controller fails, or is removed for maintenance. This
timer is triggered when the standby controller becomes the active controller. When the timer expires,
the new active controller will change the previous MAC address to its base MAC address and
advertise this MAC address to management VLANs to update the ARP peer table. If you want to use
the new address, you will have to re-enter the stack persistent-mac-timer command again to
reactivate the persistent MAC address,
To enable Persistent MAC Address, enter the following command.
device(config)# stack persistent-mac-timer 120
Syntax:[no] stack persistent-mac-timernumber
The number variable is the number of minutes during which the traditional stack will retain the original
MAC Address if the active controller fails or is removed for service. The valid value range is from 5
through 6000 minutes. If you enter a 0, it means “keep this address forever.” The default is 60
minutes.
To disable Persistent MAC Address, enter the following command.
device(config)# no stack persistent-mac-timer
NOTE
If you enter the no form of this command while the persistent MAC address timer is active, the stack
will disregard the persistent MAC address and will assume the MAC address of the new active
controller.
NOTE
Persistent MAC and stack MAC cannot be used together.
In the following example, the persistent MAC timer has been set to the default of 60 minutes.
To display the stack MAC addresses, enter the show stack command.
device(config)# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Prio State Comment
1 S FCX648p active 0000.00d5.9380
80 local Ready
2 S FCX648 member 0000.0066.8880
0 remote Ready
3 S FCX624 standby 0000.00dc.0ec0
40 remote Ready
Current persistent MAC is 0000.00d5.9380
device(config)# stack mac 000.011.111
Error: persistent stacking MAC address timer is configured
device(config)#
The following example shows what the Persistent MAC information looks like in the output of the show
stack command when the standby controller becomes the active controller.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Prio State Comment
1 S FCX648P active
0000.0000.0000 80 reserved
2 S FCX648 standby
0000.0066.8880 0 remote Ready
3 S FCX624 master 0000.00dc.
0ec0 40 local Ready
device#Persistent MAC timer expires in 59 minutes 52 seconds.
Current persistent MAC is 0000.00d5.9380
Unconfiguring a traditional stack
The stack unconfigure command is a runtime command that returns stack units to their pre-stacking
state. When a stack unit is unconfigured, its stacking flash is removed, and its startup-config.txt flash file
is recovered. These actions apply to all units to which this command is applied, regardless of the role of
the unit in the stack.
When the stack unconfigure command is applied to the active controller, it removes stack enable
from the runtime configuration but not from the startup configuration. If you want to remove the
command from the active controller permanently, you must enter the write memory command.
When the stack unconfigure command is applied to the standby controller or a stack member (besides
the active controller) it removes stack enable from the recovered startup-config.txt and resets the unit.
NOTE
When a stack member becomes a standalone unit after the stack unconfigure command, it could
become a clean unit if it had no startup configuration flash. When a clean unit matches the active
controller’s static configuration, the active controller integrates the clean unit into the stack. Thus, the
standalone unit is reloaded to be a member of the stack. Users can avoid this problem by disconnecting
the member unit from the stack, and issuing the stack unconfigure me command at the unit to change
it to a standalone unit.
To remove the configuration from a specific traditional stack unit, or from the entire stack, enter a
command similar to the following.
device# stack unconfigure me
Syntax:stack unconfigure [ stack-unit | all | me | clean | mixed-stack ]
•stack-unit - Unconfigure the stack member with this ID
•clean - Removes all startup configuration files including v4 and v5 and makes this a clean unit
•mixed-stack - Removes all peripheral ports and peripheral trunks from the ICX 6610 devices in a
mixed stack.
NOTE
The stack unconfigure me command is available to all units, while stack unconfigure all and stack
unconfigure stack-unit are available on the active controller only.
The following example shows a session where stack unit 2 is unconfigured.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX624 active 0000.00eb.a900 128
local Ready
2 S FCX648 standby 0000.004f.4243 0
remote Ready
3 S FCX624 member 0000.0001.0100 0
remote Ready
device# stack unconfigure 2
Will recover pre-stacking startup config of this unit, and reset it. Are you sure?
(enter 'y' or 'n'): y
Stack 2 deletes stack bootup flash and recover startup-config.txt from .old
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX624 active 0000.00eb.a900 128
local Ready
2 S FCX648 member 0000.0000.0000 0 reserved
3 S FCX624 standby 0000.0001.0100 0
remote Ready
When the stack unconfigure 2 command is issued, stack unit 2 recovers the startup-config.txt from
the startup-config.old configuration file that was saved when this unit downloaded its configuration
from the active controller. As the output shows, stack member 2 has been removed from the stack,
and ID 2 is now is reserved for a replacement unit. Stack member 3 is now the standby controller.
Displaying traditional stack information
This section describes the show commands for a traditional stack, including output examples and field
descriptions.
Displaying traditional stack flash information
Use the show flash command to display flash memory information for all members of a stack, or for a
specified stack member.
Syntax:show flashstack-unit
Output from the show flash command for a stack resembles the following (for a stack with three
members).
From the active controller for the entire stack:
device# show flash
Stack unit 1:
Compressed Pri Code size = 3034232, Version 05.0.00T7e1 (fcx05000.bin)
Compressed Sec Code size = 2873568, Version 04.2.00T7e1 (fcx04200.bin)
Compressed BootROM Code size = 405217, Version 04.0.00T7e5
Code Flash Free Space = 2146304
Stack unit 2:
Compressed Pri Code size = 3034232, Version 05.0.00T7e1 (fcx05000.bin)
Field definitions for the show memory command TABLE 5
FieldDescription
Total DRAMThe size (in bytes) of DRAM
Dynamic memory The total number of bytes in dynamic memory, including the number of bytes that are
available (free, or unused), and the percentage of memory used.
Displaying traditional stack chassis information
The show chassis command displays chassis information for each stack unit. Output resembles the
following (in this example, a three member stack).
device# show chassis
The stack unit 1 chassis info:
Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 not present
Fan 1 ok
Fan 2 ok
Exhaust Side Temperature Readings:
Current temperature : 33.0 deg-C
Warning level.......: 85.0 deg-C
Shutdown level......: 90.0 deg-C
Intake Side Temperature Readings:
Current temperature : 31.0 deg-C
Boot Prom MAC: 0000.00e4.6e00
Management MAC: 0000.00e4.6e00
The stack unit 2 chassis info:
Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 not present
Fan 1 ok
Fan 2 ok
Exhaust Side Temperature Readings:
Current temperature : 32.5 deg-C
Warning level.......: 85.0 deg-C
Shutdown level......: 90.0 deg-C
Intake Side Temperature Readings:
Current temperature : 31.0 deg-C
Boot Prom MAC: 0000.00e3.11c0
The stack unit 3 chassis info:
Power supply 1 (NA - AC - Regular) present, status ok
Power supply 2 not present
Fan 1 ok
Fan 2 ok
Exhaust Side Temperature Readings:
Current temperature : 31.5 deg-C
Warning level.......: 85.0 deg-C
Shutdown level......: 90.0 deg-C
Intake Side Temperature Readings:
Current temperature : 32.0 deg-C
Boot Prom MAC: 0000.00db.e500
Syntax:show chassis
Field definitions for the show chassis command TABLE 6
FieldDescription
Power Supply 1The status of the primary power supply.
Power Supply 2The status of the secondary power supply, if present.
Field definitions for the show stack resource command TABLE 8
FieldDescription
allocMemory allocated
in-useMemory in use
availAvailable memory
get-failThe number of get requests that have failed.
limitThe maximum memory allocation
get-memThe number of get-memory requests
sizeThe size
initThe number of requests initiated.
Displaying stack information
You can display information about any and all of the members in a traditional stack by entering show
commands from the active controller console port. If you enter show commands from a unit that is not
the active controller, the information may not be displayed correctly.
The show stack command displays general information about a traditional stack, for all members, for
a specified member, and with additional detail if required.
The following output covers the entire stack, as shown in this example output from an ICX 6610
switch.
device#show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S ICX6610-24P member 0000.0034.5238 0 remote Ready
2 S ICX6610-48P member 0000.0034.4800 0 remote Ready
3 S ICX6610-24F member 0000.0085.0124 0 remote Ready
4 S ICX6610-48P active 0000.0034.4930 200 local Ready
5 S ICX6610-48P standby 0000.0034.4d14 200 remote Ready
6 S ICX6610-24P member 0000.0034.50b4 0 remote Ready
7 S ICX6610-24P member 0000.0034.504c 0 remote Ready
8 S ICX6610-24F member 0000.0000.0000 200 reserve
active
-------------------------------------------------------------2/1| 5|2/6=
+--+
Standby u5 - protocols ready, can failover or manually switch over
Current stack management MAC is 0000.0034.1234
If you add a stack member ID, output is displayed for that member only.
device# show stack 1
ID Type Role MAC Address Prio State Comment
1 S FCX648 active 0000.00eb.a900 130 local Ready
device# show stack 2
ID Type Role MAC Address Prio State Comment
2 S FCX648 standby 0000.004f.4243 0 remote Ready, member after reload
device#show stack 3
ID Type Role MAC Address Prio State Comment
3 S FCX624 member 0000.004f.4243 0 remote Ready
If you add the detail keyword to the show stack command, output resembles the following on an ICX
6610 switch.
device(config)# show stack detail
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S ICX6610-24P member 0000.0034.5238 0 remote Ready
2 S ICX6610-48P member 0000.0034.4800 0 remote Ready
3 S ICX6610-24F member 0000.0085.0124 0 remote Ready
4 S ICX6610-48P active 0000.0034.4930 200 local Ready
5 S ICX6610-48P standby 0000.0034.4d14 200 remote Ready
6 S ICX6610-24P member 0000.0034.50b4 0 remote Ready
7 S ICX6610-24P member 0000.0034.504c 0 remote Ready
8 S ICX6610-24F member 0000.0000.0000 200 reserve
active
+-+ +-+ +-+ +-+ +-+ +-+
=2/1|4|2/6==2/6|3|2/1==2/1|2|2/6==2/6|1|2/1==2/1|7|2/6==2/6|6|2/1=
| +-+ +-+ +-+ +-+ +-+ +-+ |
| |
| standby|
| +-+ |
--------------------------------------------------------2/1|5|2/6=
+-+
Standby u5 - protocols ready, can failover or manually switch over
Current stack management MAC is 0000.0034.1234
Stack Port Status Neighbors
Unit# Stack-port1 Stack-port2 Stack-port1 Stack-port2
1 up (1/2/1-1/2/5) up (1/2/6-1/2/10) unit7 (7/2/1-7/2/5) unit2 (2/2/6-2/2/10)
2 up (2/2/1-2/2/5) up (2/2/6-2/2/10) unit3 (3/2/1-3/2/5) unit1 (1/2/6-1/2/10)
3 up (3/2/1-3/2/5) up (3/2/6-3/2/10) unit2 (2/2/1-2/2/5) unit4 (4/2/6-4/2/10)
4 up (4/2/1-4/2/5) up (4/2/6-4/2/10) unit5 (5/2/1-5/2/5) unit3 (3/2/6-3/2/10)
5 up (5/2/1-5/2/5) up (5/2/6-5/2/10) unit4 (4/2/1-4/2/5) unit6 (6/2/1-6/2/5)
6 up (6/2/1-6/2/5) up (6/2/6-6/2/10) unit5 (5/2/6-5/2/10) unit7 (7/2/6-7/2/10)
7 up (7/2/1-7/2/5) up (7/2/6-7/2/10) unit1 (1/2/1-1/2/5) unit6 (6/2/6-6/2/10)
Unit# System uptime
1 5 days 6 hours 58 minutes 20 seconds
2 5 days 6 hours 58 minutes 20 seconds
3 5 days 6 hours 58 minutes 20 seconds
4 5 days 6 hours 58 minutes 21 seconds
5 1 days 11 hours 45 minutes 37 seconds
6 5 days 6 hours 58 minutes 21 seconds
7 5 days 6 hours 58 minutes 21 seconds
The system started at 23:43:14 GMT+00 Thu Oct 20 2011
Field descriptions for the show stack command TABLE 9
FieldDescription
alone: StandaloneThis device is operating as a standalone device
S: static configuration
D: dynamic configuration The configuration for this unit is dynamic and may be overwritten by a new stack unit.
IDThe stack identification number for this unit.
TypeThe model of this unit.
RoleThe role of this unit within the stack.
MAC addressThe MAC address of this unit.
PriorityThe priority assigned to this unit.
StateThe operational state of this unit.
CommentsAdditional information about this unit (optional).
The configuration for this unit is static (has been saved with a write memory
command).
To change to a static configuration, enter the write memory command.
NOTE
The active controller removes the dynamic configuration of a unit when the unit leaves. However, if
there is a static trunk configuration associated with the unit, the active controller cannot remove the
dynamic configuration. In this case, you must remove the static trunk and use the no stack unit stack-unit to manually remove the configuration.
Field descriptions for the show stack detail command TABLE 10
FieldDescription
Stack Port Status Indicates stacking port status for each stack unit.
NeighborsIdentifies stack neighbors (by unit ID) for each stack unit.
IDThe stack identification number for this unit.
Stack-port 1Indicates the port state (up or down) and identifies the port by number (stack-ID/slot/port).
Stack-port 2Indicates the port state (up or down) and identifies the port by number (stack-ID/slot/port).
Field descriptions for the show stack neighbors commandTABLE 12
FieldDescription
UThe stack identification number for this unit.
Stack-port1Identifies the neighbor stack unit for stack-port1 for this unit ID.
Stack-port2Identifies the neighbor stack unit for stack-port2 for this unit ID.
Displaying stack port information
The show stack stack-ports command displays information about stack port status.
device(config)# show stack stack-ports
ID Stack-port1 Stack-port2
1 up (1/2/1) up (1/2/2)
2 up (2/2/1) up (2/2/2)
3 up (3/2/1) up (3/3/1)
4 up (4/2/1) up (4/3/1)
5 up (5/2/1) up (5/3/1)
For ICX devices, it displays an equals sign (=) to show connections between trunk ports and is
enhanced to display the port up state of all trunked ports. The following example is observed on an
ICX 6610 switch.
up ports: 1/2/1, 1/2/2, 1/2/3, 1/2/4, 1/2/5
up ports: 1/2/6, 1/2/7, 1/2/8, 1/2/9, 1/2/10
2 up (2/2/1-2/2/5) up (2/2/6-2/2/10)
up ports: 2/2/1, 2/2/2, 2/2/3, 2/2/4, 2/2/5
up ports: 2/2/6, 2/2/7, 2/2/8, 2/2/9, 2/2/10
3 up (3/2/1-3/2/5) up (3/2/6-3/2/10)
up ports: 3/2/1, 3/2/2, 3/2/3, 3/2/4, 3/2/5
up ports: 3/2/6, 3/2/7, 3/2/8, 3/2/9, 3/2/10
4 up (4/2/1-4/2/5) up (4/2/6-4/2/10)
up ports: 4/2/1, 4/2/2, 4/2/3, 4/2/4, 4/2/5
up ports: 4/2/6, 4/2/7, 4/2/8, 4/2/9, 4/2/10
5 up (5/2/1-5/2/5) up (5/2/6-5/2/10)
up ports: 5/2/1, 5/2/2, 5/2/3, 5/2/4, 5/2/5
up ports: 5/2/6, 5/2/7, 5/2/8, 5/2/9, 5/2/10
6 up (6/2/1-6/2/5) up (6/2/6-6/2/10)
up ports: 6/2/1, 6/2/2, 6/2/3, 6/2/4, 6/2/5
up ports: 6/2/6, 6/2/7, 6/2/8, 6/2/9, 6/2/10
7 up (7/2/1-7/2/5) up (7/2/6-7/2/10)
up ports: 7/2/1, 7/2/2, 7/2/3, 7/2/4, 7/2/5
up ports: 7/2/6, 7/2/7, 7/2/8, 7/2/9, 7/2/10
Syntax:show stackstack-ports
Field descriptions for the show stack stack-ports commandTABLE 13
FieldDescription
IDThe stack identification number for this unit
Stack-port1Indicates port state (up or down) and identifies the port by number (stack-ID/slot/port)
Stack-port 2Indicates port state (up or down) and identifies the port by number (stack-ID/slot/port)
Displaying running configuration information
The show running-config command displays information about the current stack configuration.
device(config)# show running-config
Current configuration:
The show version command shows the software version that the stack is running. Note that the last
line of this output shows the bootup ID and role for this unit. Output resembles the following.
device(config)# show version
Copyright (c) 1996-2013 Brocade Communications Systems, Inc. All rights reserved.
UNIT 1: compiled on Apr 26 2013 at 20:08:17 labeled as FCXR08000a
(8837030 bytes) from Primary FCXR08000a.bin
SW: Version 08.0.00aT7f3
UNIT 2: compiled on Apr 26 2013 at 20:08:17 labeled as FCXR08000a
(8837030 bytes) from Primary FCXR08000a.bin
SW: Version 08.0.00aT7f3
UNIT 3: compiled on Apr 26 2013 at 20:08:17 labeled as FCXR08000a
(8837030 bytes) from Primary FCXR08000a.bin
SW: Version 08.0.00aT7f3
UNIT 4: compiled on Apr 26 2013 at 20:08:17 labeled as FCXR08000a
(8837030 bytes) from Primary FCXR08000a.bin
SW: Version 08.0.00aT7f3
UNIT 5: compiled on Apr 26 2013 at 20:08:17 labeled as FCXR08000a
(8837030 bytes) from Primary FCXR08000a.bin
SW: Version 08.0.00aT7f3
UNIT 6: compiled on Apr 26 2013 at 20:08:17 labeled as FCXR08000a
(8837030 bytes) from Primary FCXR08000a.bin
SW: Version 08.0.00T7f3
UNIT 7: compiled on Apr 26 2013 at 20:08:17 labeled as FCXR08000a
(8837030 bytes) from Primary FCXR08000a.bin
SW: Version 08.0.00T7f3
UNIT 8: compiled on Apr 26 2013 at 20:08:17 labeled as FCXR08000a
(8837030 bytes) from Primary FCXR08000a.bin
SW: Version 08.0.00aT7f3
Boot-Monitor Image size = 370733, Version:07.3.03T7f5 (grz07303)
HW: Stackable ICX6610-24
==========================================================================
UNIT 1: SL 1: ICX6610-24 24-port Management Module
Serial #: BMA2523H00P
License: ICX6610_PREM_ROUTER_SOFT_PACKAGE (LID: docHKHIjFFr)
P-ENGINE 0: type E02B, rev 01
==========================================================================
UNIT 1: SL 2: ICX6610-QSFP 10-port 160G Module
==========================================================================
UNIT 1: SL 3: ICX6610-8-port Dual Mode(SFP/SFP+) Module
==========================================================================
UNIT 2: SL 1: ICX6610-24 24-port Management Module
Serial #: BMA2524H02T
License: ICX6610_PREM_ROUTER_SOFT_PACKAGE (LID: docHKHJjFHv)
P-ENGINE 0: type E02B, rev 01
==========================================================================
UNIT 2: SL 2: ICX6610-QSFP 10-port 160G Module
==========================================================================
UNIT 2: SL 3: ICX6610-8-port Dual Mode(SFP/SFP+) Module
==========================================================================
UNIT 3: SL 1: ICX6610-24 24-port Management Module
Serial #: BMA2524H02W
License: ICX6610_PREM_ROUTER_SOFT_PACKAGE (LID: docHKHJjFHy)
P-ENGINE 0: type E02B, rev 01
==========================================================================
UNIT 3: SL 2: ICX6610-QSFP 10-port 160G Module
==========================================================================
UNIT 3: SL 3: ICX6610-8-port Dual Mode(SFP/SFP+) Module
==========================================================================
UNIT 4: SL 1: ICX6610-48 48-port Management Module
Serial #: BXN2522H00R
License: ICX6610_PREM_ROUTER_SOFT_PACKAGE (LID: dzpHKHHjFFt)
P-ENGINE 0: type E023, rev 01
P-ENGINE 1: type E023, rev 01
==========================================================================
UNIT 4: SL 2: ICX6610-QSFP 10-port 160G Module
==========================================================================
UNIT 4: SL 3: ICX6610-8-port Dual Mode(SFP/SFP+) Module
==========================================================================
UNIT 5: SL 1: ICX6610-48 48-port Management Module
Serial #: BXN2522H00S
License: ICX6610_PREM_ROUTER_SOFT_PACKAGE (LID: dzpHKHHjFFu)
P-ENGINE 0: type E023, rev 01
P-ENGINE 1: type E023, rev 01
==========================================================================
UNIT 5: SL 2: ICX6610-QSFP 10-port 160G Module
==========================================================================
UNIT 5: SL 3: ICX6610-8-port Dual Mode(SFP/SFP+) Module
==========================================================================
UNIT 6: SL 1: ICX6610-24 24-port Management Module
Serial #: BMA2524H02S
License: ICX6610_PREM_ROUTER_SOFT_PACKAGE (LID: docHKHJjFHu)
P-ENGINE 0: type E02B, rev 01
==========================================================================
UNIT 6: SL 2: ICX6610-QSFP 10-port 160G Module
==========================================================================
UNIT 6: SL 3: ICX6610-8-port Dual Mode(SFP/SFP+) Module
==========================================================================
UNIT 7: SL 1: ICX6610-24 24-port Management Module
Serial #: BXP2523H00L
License: ICX6610_PREM_ROUTER_SOFT_PACKAGE (LID: dzrHKHIjFFn)
P-ENGINE 0: type E02B, rev 01
==========================================================================
UNIT 7: SL 2: ICX6610-QSFP 10-port 160G Module
==========================================================================
UNIT 7: SL 3: ICX6610-8-port Dual Mode(SFP/SFP+) Module
==========================================================================
UNIT 8: SL 1: ICX6610-24F 24-port Management Module
Serial #: BLH0422G00K
License: ICX6610_PREM_ROUTER_SOFT_PACKAGE (LID: dnjFJHHiFFm)
P-ENGINE 0: type E02B, rev 01
==========================================================================
UNIT 8: SL 2: ICX6610-QSFP 10-port 160G Module
==========================================================================
UNIT 8: SL 3: ICX6610-8-port Dual Mode(SFP/SFP+) Module
==========================================================================
800 MHz Power PC processor 8544E (version 0021/0023) 400 MHz bus
65536 KB flash memory
512 MB DRAM
STACKID 1 system uptime is 32 minutes 54 seconds
STACKID 2 system uptime is 32 minutes 54 seconds
STACKID 3 system uptime is 32 minutes 54 seconds
STACKID 4 system uptime is 32 minutes 54 seconds
STACKID 5 system uptime is 32 minutes 54 seconds
STACKID 6 system uptime is 32 minutes 54 seconds
STACKID 7 system uptime is 32 minutes 54 seconds
STACKID 8 system uptime is 32 minutes 53 seconds
The system : started=warm start reloaded=by "reload"
My stack unit ID = 1, bootup role =
Syntax: show version
Displaying stacking port interface information
The show interfaces stack-ports command displays information about the stacking ports on all stack
units.
ICX6610-48 Router#show interfaces stack-ports
Port Link State Dupl Speed Trunk Tag Pvid Pri MAC Name
1/2/1 Up Forward Full 40G None No N/A 0 0000.0034.1db5
1/2/2 Up Forward Full 10G None No N/A 0 0000.0034.1db6
1/2/6 Up Forward Full 40G None No N/A 0 0000.0034.1db7
1/2/7 Down None None None None No N/A 0 0000.0034.1db8
2/2/1 Down None None None None No N/A 0 0000.0000.0000
2/2/2 Down None None None None No N/A 0 0000.0000.0000
2/2/6 Down None None None None No N/A 0 0000.0000.0000
2/2/7 Down None None None None No N/A 0 0000.0000.0000
3/2/1 Down None None None None No N/A 0 0000.0034.266d
3/2/2 Up Forward Full 10G None No N/A 0 0000.0034.266e
3/2/6 Up Forward Full 40G None No N/A 0 0000.0034.266f
3/2/7 Up Forward Full 10G None No N/A 0 0000.0034.2670
5/2/1 Down None None None None No N/A 0 0000.0034.11ad
5/2/2 Up Forward Full 10G None No N/A 0 0000.0034.11ae
5/2/6 Up Forward Full 40G None No N/A 0 0000.0034.11af
5/2/7 Down None None None None No N/A 0 0000.0034.11b0
PortThe stack identification number for this unit.
In PacketsThe number of incoming packets on this port
Out PacketsThe number of outgoing packets on this port
In ErrorsThe number of incoming errors on this port
Out ErrorsThe number of outgoing errors on this port
Displaying stacking topology
The show stack connection command displays the topology and prints out a detailed connection
report. It also prints connection errors or hardware failures, as shown in the following example output
from an ICX 6610 switch.
Field definitions for the show statistics stack-ports command TABLE 16
Adding, removing, or replacing units in a traditional stack
4: 5/2/9 (T1) <---> 6/2/4 (T0)
5: 5/2/10(T1) <---> 6/2/5 (T0)
Link 7: u7 -- u6, num=5
1: 6/2/6 (T1) <---> 7/2/6 (T1)
2: 6/2/7 (T1) <---> 7/2/7 (T1)
3: 6/2/8 (T1) <---> 7/2/8 (T1)
4: 6/2/9 (T1) <---> 7/2/9 (T1)
5: 6/2/10(T1) <---> 7/2/10(T1)
CPU to CPU packets are fine between 7 units.
Field definitions for the show stack connection command TABLE 17
FieldDescription
T0Identifies Trunk 0
T1Identifies Trunk 1
Syntax:show stack connection
Adding, removing, or replacing units in a traditional stack
The following sections describe how to add, remove, or replace units in a traditional stack. The
recommended method is to connect units to the stack before you supply power to the units; however,
you can also connect powered units.
Installing a new unit in a traditional stack using secure-setup
This method can be applied to clean units, or units that have existing configurations.
1.Connect the new unit to the stack by connecting the 10 Gbps stacking ports.
2.Run secure-setup on the active controller and assign an ID to the new unit. The active controller
will reset the new unit.
3.Once the new unit boots and joins the stack, do a write memory on the active controller.
Installing a new unit using static configuration
If the new unit is a clean unit and the connection is sequential, you can add it using the static setup
process.
1.Enter the module configuration of the new unit into the active controller configuration.
2.Connect the new unit to the stack using the 10 Gbps stacking ports. The sequence in which you
connect the unit must match that of the active controller configuration. The active controller
automatically resets the unit.
3.Once the new unit boots and joins the stack, do a write memory on the active controller. You
should see the following message.
Done hot swap: Set stack unit 3 to Fully-Operational:16
Configuration notes
Configuration on a new unit can be accomplished in three ways:
•If the active controller has no configuration information for the new unit, it learns the new unit's
configuration. This is a dynamic configuration and will disappear if the new unit leaves the stack. In
order for the configuration to stay on the active controller (to make it a static configuration), you
must do a write memory on the active controller.
•If the active controller has configuration information for a new unit, and it matches the base
module (module 1) of the new unit, no action is necessary. If configuration information for nonbase modules on the new unit does not match the information on the active controller, the active
controller learns the configuration for the new unit module types and merges it with the
information it has for the base module. This merged configuration remains static and will stay on
the active controller even if the new unit leaves the stack.
•If the active controller has configuration information for the new unit, but it does not match the
base module of the new unit, a configuration mismatch can occur where the configuration related
to this unit is removed even after the mismatch is resolved. Refer to “Recovering from a stack unit
mismatch,” for more information.
Removing a unit from a traditional stack
To remove a unit from the stack, disconnect the cables from the stacking ports. This can be done
whether the units are powered-on or powered-off. When you remove a unit that is powered-on, it is still
in stacking enabled mode. To remove the stacking files, enter the stack unconfigure me or stackunconfigure clean command. When the unit reboots, it will operate as a standalone unit.
When a unit is removed from a stack, the active controller deletes this unit configuration if it is
dynamically learned. Refer to “Brocade traditional stacking terminology” for definitions of static and
dynamic configurations.
Replacing traditional stack units (unit replacement)
Older stack units can be replaced using the following methods based on whether there are single or
multiple units to be replaced.
Replacing a old traditional stack unit with a clean traditional stack unit
If the stack unit ID numbering is sequential, you can easily swap a failed unit with an identical clean
unit using this procedure.
1.Remove the old unit from the stack.
2.Make sure that the hardware (module) configuration of the replacement unit is identical to that of
the failed unit.
3.Connect the new unit to the stack using the same stacking ports used by the old unit.
4.If the configuration of the replacement unit matches the configuration on the active controller, the
active controller resets the new unit, which automatically becomes active in the stack, and the
stack retains its original topology.
Replacing multiple old traditional stack units with multiple clean traditional stack units
If you are replacing multiple old units with clean units, the active controller replaces the unit with the
lowest ID first. For example, if you remove units 5 and 6 (which are FCX624P-STK devices), the active
controller assigns ID 5 to the first new FCX624P-STK device you install. If you wanted this particular
unit to replace unit 6, instead of unit 5, you must use secure-setup.
You must use secure-setup If the replacement is not a clean unit, the connection is not sequential, or
you do not want the active controller to trigger an automatic replacement. Use the following steps.
2.Connect the new unit to the existing stack using the same stacking ports used by the old unit.
3.Run secure‐setup to select the ID of the old unit for the new unit. The active controller resets the
unit, and it joins the stack.
NOTE
Adding, removing or replacing a stack unit which is not at the end of linear topology may cause the
other units in the stack to reset if these units lose their path to the active controller during the
process. Adding or removing a unit in a ring topology should not cause the other units to reset
because each unit can still find a path to the active controller.
Moving a unit to another stack
Moving a member from a stack and to another stack can result in non-sequential ID assignment. The
active controller will honor the new unit original ID if that ID is not being used in the new stack. The
active controller will assign a new ID if the original ID is already being used. To prevent non-sequential
stack ID assignments, configure the unit that is moving as a clean unit before adding it to the new stack.
Removing an active controller from a powered stack
To remove an active controller from a powered stack, disconnect the active controller. The standby
controller waits for 30 seconds and then assumes the role of active controller. If the hitless-failoverenable command is configured, the standby controller takes over immediately. A single active controller
device functions as a standalone unit even it is still stacking-enabled. You do not have to issue a stackunconfigure me command for an active controller.
Renumbering stack units
You can use the stack secure-setup command to renumber stack units in a previously constructed
stack. In the following example, three units make up a stack, yet two of the units are numbered 5 and 6
(the active controller is numbered 1). Because this stack is only going to contain 3 units, you can
renumber the other units so that they are unit 2 and unit 3.
The most effective way to number your stack members is sequentially. You can skip numbers, but they
should still be sequential, from 1 to 8. Sequential numbering makes it easy to replace stack units, and
easier to troubleshoot issues.
NOTE
In a ring topology, 1, 2, 4, 5, and 1, 5, 4, 2 are both sequential.
device# stack secure-setup
device#Discovering the stack topology...
Available UPSTREAM units
Hop(s) Type MAC Address
1 FCX624 0000.00d5.2100
2 FCX624 0000.005d.9940
Enter the number of the desired UPSTREAM units (1-2)[1]: 2
Selected topology:
Active id Type MAC Address
1 FCX624 0000.0039.2d40
Selected UPSTREAM units
Hop(s) id Type MAC Address
1 5 FCX624 0000.00d5.2100
2 6 FCX624 0000.005d.9940
Do you accept the unit ids? (y/n)?: n
Enter an unused id for the UPSTREAM FCX623 unit a 1 hop(s) (1-8)[5]: 2
Enter an unused id for the UPSTREAM FCX624 unit at 2 hop(s) (1-8) [6]: 3
device# Election, was active, no role change, assigned-ID=1
reset unit 2: diff bootup id=5
reset unit 3: diff bootup id=6
Election, was active, no role change, assigned-ID=1
device# show stack
ID Type Role MAC Address Pri State Comment
1 S FCX624 active 0000.0039.2d40 128
local Ready
2 S FCX624 standby 0000.00d5.2100 0
remote Ready
3 S FCX624 member 0000.005d.9940 0
remote Ready
Configuration notes for renumbering stack units
•Renumbering may result in the removal of a unit configuration if the stack unit base module does
not match the configuration on the active controller. However, secure-setup renumbering never
changes the interface configuration. For example, if you switch the IDs of identical units 2 and 3,
the active controller does not change 2/1/5 to 3/1/5 and vice versa.
•If the configuration for the ID you select for a specific unit does not match the configuration on that
unit, secure-setup will change the static configuration into a dynamic configuration so it can be
overwritten by the learned configuration.
•When swapping IDs for two or more identical units - for example, if units 2, 3, and 4 are identical,
changing 2 to 3, 3 to 4, and 4 to 2 will not affect the configurations of the units except that the
units will reset and assume the new IDs.
•If you swap IDs for two units that are not identical - for example, unit 2 is an FCX648 and unit 3 is
an FCX624, you may cause a configuration mismatch. If this happens, the active controller
removes the configurations and resets both units. When both units boot with new IDs, the active
controller learns their module types and creates new unit configurations for both. However, all
interface configuration information related to units 2 and 3 is gone.
•When you renumber identical units using secure-setup, the configurations are not mapped to the
new units (since the configurations match exactly). However, if you switch the IDs of units that are
not identical, a configuration mismatch occurs. Refer to “Recovering from a stack unit mismatch.”
•When you assign an unused ID to a stack unit, the unit is reset with the new ID. All unit and
interface configuration information related to the old stack ID is deleted. The active controller
learns the configuration for the new unit (instead of creating interface configuration for the new
unit.
•Secure-setup does not swap configuration information for units that have had their IDs changed.
For example, it does not change the 2/1/3 interface configuration or VLAN membership
information into 3/1/3 information if the unit ID changes from 2 to 3.
•If the configuration for a unit being replaced does not match the new unit type, the active
controller removes the unit configuration and associated interface configuration.
•All learned configurations due to mismatches or the addition of new units are dynamic
configurations. To convert them into static configurations, do a write memory to preserve the
configurations if a unit is removed from the stack.
Syslog, SNMP, and traps for stack units
Syslog messages from stack units are forwarded to, and can be viewed from, the active controller.
All stack units support SNMP gets, sets, and traps, which are managed by the active controller. An
SNMP trap is sent from a stack unit to the stack active controller, and forwarded from the active
controller to an SNMP-configured server. An external network management station can execute
SNMP gets and sets for MIBs and collect information about any port on the stack.
SNMP traps can be configured for the insertion or removal of a stack unit or uplink module, and for
optic identification.
For more information about Syslog messages, refer to the FastIron Ethernet Switch Administration
Guide.
Configuring SNMP for a traditional stack
SNMP server and feature configuration is the same for a traditional stack as it is for standalone units. In
a traditional stack, SNMP gets and sets are processed by the active controller for the standby controller
and all stack members. SNMP traps generated by the standby controller and stack members are
propagated to the configured SNMP server through the active controller. For more information about
how to configure an SNMP server for FastIron devices, refer to the FastIron Ethernet SwitchAdministration Guide.
SNMP engine IDs for stackable devices
For Brocade stacking devices, if an engine ID is not manually created or a stack MAC address is not
specified and saved, the stack will lose its engine ID if the active controller fails and the standby
controller takes over, because the standby controller creates a new engine ID at bootup. To prevent this
from happening, you will need to either create a new engine ID or create a new stack MAC address to
ensure that the engine ID is saved to the startup configuration. This should be done before the SNMPv3
user is created.
If a new active controller is elected (for example, the standby controller becomes the active controller)
you will see the following results:
•If you have configured the engine ID saved it to the startup configuration file, the new stack
configuration will use the saved engine ID.
•If you have not configured an engine ID, but a stack MAC address is configured, the new stack
configuration will retain the original engine ID since it is based on the stack MAC address.
•If you have not configured an engine ID, and no stack MAC address is configured, the new stack
configuration will use the default engine ID, which is based on its own management MAC address
of the new active controller. Since the engine ID will have changed, any SNMPv3 Clients will need
to be reconfigured with the new engine ID.
Traditional stack troubleshooting
The most common reason for an unsuccessful stack build is either a software configuration mismatch, a
hardware configuration mismatch, or a combination of both.
The following sections describe common troubleshooting procedures for a traditional stack.
Troubleshooting an unsuccessful stack build
If you are unable to build a stack, (for example, the show stack command does not display any stack
units), perform the following steps.
1.Enter the show run command on each unit to make sure the configuration contains “stack enable.”
If it does not, enter the stack enable command on the unit. Before a stack is formed, you can still
access the console port on each device. Once a stack is successfully formed, you are redirected to
the active controller.
If you are building a stack using secure-setup, you do not have to enter stack enable on each unit.
2.Check that all of your stacking port connections are secure and working properly. Enter show
interface stack on each device to confirm that the stacking port links are up and the ports are in
the forward state.
device# show interfaces stack
Port Link State Dupl Speed Trunk Tag P MAC Name
1/2/1 Up Forward Full 10G None No 1 0000.00eb.a902
1/2/2 Up Forward Full 10G None No 1 0000.00eb.a904
3.Confirm that all of the devices are running the same software image.
4.Use the show log command to display any IPC version mismatch messages. These messages
appear in one minute when receiving mismatched probe packets, and then once every 10
minutes.
5.Use the show stack ipc command to see if any traffic has been sent or received. Enter clear
stack ipc to clear the traffic statistics and then enter show stack ipc again so you can easily see
differences in traffic flow. The following output is from an ICX 6610 switch.
device# show stack ipc
V15, G1, Recv: SkP0:3749372, P1:3756064, MAIL:184291175, sum:191796611,
t=457152.2
Message types have callbacks:
1 :Reliable IPC message 2 :Reliable IPC atomic 4 :fragmentation, jumbo
5 :probe by mailbox 6 :rel-mailbox 7 :test ipc
8 :disable keep-alive 9 :register cache 10:ipc dnld stk
11:chassis operation 12:ipc stk boot 13:Rconsole IPC message
14:auth msg 15:ipc erase flash 16:unconfigure
17:ipc stk boot 18:ss set 19:sFlow IPC message
21:SYNC download reques 23:SYNC download 1 spec 28:SYNC client hello
30:SYNC dy chg error 32:active-uprintf 33:test auth msg
34:probe KA 39:unrel-mailbox 40:trunk-probe
Send message types:
[1]=2342639, [4]=44528, [5]=961830, [6]=37146,
[9]=73104634, [11]=137082, [14]=487007, [20]=2304,
[22]=1395, [25]=23, [26]=1901701, [29]=415888,
[34]=1827543, [39]=30451, [40]=289420,
Recv message types:
[1]=2016251, [4]=1352759, [5]=470884, 475144,
[6]=114459, 114572, [9]=367644144, [11]=1785229,
[14]=973285, 974177, [21]=1395, [30]=25,
[34]=912972, 914086, [39]=973492, 973440, [40]=700313,
Statistics:
send pkt num : 34068433, recv pkt num : 191796609,
send msg num : 79756048, recv msg num : 379902767,
send frag pkt num : 22264, recv frag pkt num : 493860,
pkt buf alloc : 34068433,
Reliable-mail send success receive duplic
target ID 1 1 0 0
target MAC 15230 15230 0 0
unrel target ID 7615 0
There is 1 current jumbo IPC session
Possible errors:
*** recv from non-exist unit 2 times: unit 5
If the send message types: field is empty, it means that stack enable has not been configured. If
the number of Recv IPC packets increases, but there are no Recv message types, then the
packets are being dropped for various reasons, including the wrong IPC version, or a checksum
error. The Possible errors field will list reasons for packet loss.
NOTE
A small "***state not ready" count is normal, but if it continues to increase a problem is indicated.
6.If the results of a show stack command show other stack members, but lists them as nonoperational, this could be due to an image mismatch, or a configuration mismatch. In the event of
an image mismatch, you can download the correct images to the entire stack from the active
controller.
If your intended stacking ports are connected in a ring topology, they will not all appear to be in the
forwarding state because of spanning tree, but secure-setup can still build the stack.
7.If you run out of flash memory while doing a write memory, your stack devices may contain very
large startup-config.v4 or startup-config.old files, which are preserved for recovery purposes. If you
do not need these files, you can delete them using the flash delete command. Enter the show dir
command to see all flash files.
8.Check to be sure you do not have any stacking to non-stacking connections. If you see the
following message.
Warning! Proc ???? packet in 2m from 0012.f2222.8300, Wrong dev/port: dev=4,
port=18, DSA=4971100 497--E
You might have stacking to non-stacking port connections
This indicates that you may have a connection between a stacking port and a non-stacking port.
This message will appear every 10 minutes after the first display. If you see this message once
only, and your connections are correct, your stack should be operating properly. Only repeat
displays of this message indicate a problem.
Troubleshooting a stacking upgrade
After you upgrade your device to support stacking, restart the device with the upgraded software. If you
encounter a problem at this step, make sure the memory DIMM and stacking EEPROM are installed
correctly. If they are not installed correctly, you may see output similar to the following.
FCX MEM size: 0x10000000
FCX Flash config....
FCX Boot Code Version 05.0.00
Enter ‘b’ to stop at boot....
BOOT INFO: load monitor from primary, size=103408
BOOT INFO: load image from primary..........
BOOT INFO: bootparam at 000543e8, mp_flash_size=002ee6c5
BOOT INFO: code decompression completed
BOOT INFO: branch to 00400100
Starting Main Task.......
*****************************************************************************
ERR: This software needs License PROM to be installed in the system
*****************************************************************************
System Reset!
If your memory DIMM is not installed correctly, you will see output similar to the following.
FCX Mem size: 0x8000000
Flash Config...
FCX Boot Code Version 05.0.00
Enter ‘b’ to stop at boot.....
BOOT INFO: load monitor from primary, size = 103380
BOOT INFO: debug enabled!!
BOOT INFO: load image from primary...
BOOT INFO: bootparam at 00054338 mp_flash_size = 002f1aeb
BOOT INFO: code decompression completed
BOOT INFO: branch to 00400100
Starting Main Task ...
*****************************************************************************
ERR: This software requires 256M memory to be installed in the system.
*****************************************************************************
System Reset!
Check your upgraded hardware for the following situations:
•EEPROM is installed incorrectly in the socket. Make sure Pin 1 on the EEPROM matches the Pin 1
hole in the socket.
•Make sure your memory DIMM is securely installed in the memory DIMM socket. Refer to the
hardware installation guide or the instructions that came with your upgrade kit for more information.
The copy tftp flash command copies the image to all stack units including the active controller. The
copy flash flash command copies the image from the primary or secondary flash on the active
controller to the primary or secondary flash image of a stack member, respectively. If you are unable
to copy an image to one or more stack units, check the following:
•Make sure the unit is actually part of the stack. Use the show stack command.
•If a unit joins a stack after the image copy command was issued, you will need to copy the image
to this unit separately.
Stack mismatches
When a stack mismatch occurs, the active controller can put any stack member into a non-operational
state, which disables all of the ports except the stacking ports. Stack mismatches can occur for a
variety of reasons, which are discussed in this section.
NOTE
The active controller can still download an image to the non-operational unit.
The active controller generates a log message whenever it puts a stack unit into a non-operational
state. The following examples describe the types of mismatches and the related log message:
•Advanced feature mismatch - The active controller is enabled for advanced features (such as
BGP) and the stack unit is not enabled.
Stack: Unit 2 0000.0020.0100 doesn’t have the matching advanced feature privileges
•Image mismatch - A stack unit is running a different software image than that of the active
controller.
Stack: Unit 2 0000.0020.0100 image mismatch
•Configuration mismatch - The module configuration for a stack unit does not match the
reserved configuration on the active controller.
Stack: Unit 2 0000.0020.0100 config mismatch
•Memory allocation mismatch - The active controller does not have enough memory to
accommodate the stack unit.
Stack: Malloc failure for unit 2.0000.0020.0100
These mismatches are described in the following sections.
Advanced feature privileges must be enabled to run advanced features such as BGP. Both active and
standby units must be enabled for advanced features for these features to operate across the stack. A
unit that is not enabled for these features is put into a non-operational state.
If the active controller is not enabled for advanced features, these features will not operate on the stack.
Traditional stack technology requires that all stack units run the same version of the software image. In
cases where the software version differs, there are two levels of mismatch, major and minor.
Major mismatch for stack units
A major mismatch indicates an Interprocessor Communications (IPC)-related data structure change, or
an election algorithm change, or that a version of the software that does not support stacking is installed
on a unit. This can happen when the software undergoes a major change (such as a change from
05.0.00 to 05.1.00). When a major mismatch occurs, the system logs and prints a message similar to
the following.
Warning! Recv 424 IPC in 1m from 0000.001b.a900 e1/1/25: wrong version 5 !=6. Please
make sure all units run the same image.
In a major mismatch, the stack cannot be built and will not operate. You must download the correct
version of the software to the mismatched units individually.
Minor mismatch for stack units
With a minor mismatch, an operating stack can still exist, but traffic is dropped from all ports except for
the stacking ports for units with the mismatched software. You can download the correct image to the
mismatched devices from the active controller. A minor software mismatch means that there is no IPC
or election algorithm change, but there is a release version disparity. Minor software mismatches can
happen with patch release upgrades. The system logs and prints a message similar to the following.
Warning! put stack unit 2 to non-operational reason=image mismatch
The show stack command displays output similar to the following.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 S FCX624 active 0000.00eb.a900 128 local Ready
2 S FCX648 standby 0000.004f.4243 0 remote NON-OP: image mismatch
3 S FCX624 member 0000.0001.0100 0 remote Ready
If the configuration of a stack unit does not match the configuration of the active controller, the stack unit
will not function. In this example, unit 2 is non-operational due to an image mismatch. To correct this
situation, use the copy flash flash command. Refer to “Copying the flash image to a stack unit from the
active controller.”
Configuration mismatch for stack units
Generally, when a stack unit is added to or removed from the stack, its static configuration is not
overwritten by the active controller. On the other hand, the active controller deletes the dynamic
configuration for a unit if it leaves.
A configuration mismatch occurs when the base module configuration for a replacement stack unit does
not match the runtime configuration on the active controller. If the configuration on the active controller
is static, it cannot be overwritten by the new configuration, and a configuration mismatch occurs.
Configuration mismatches can happen during manual setups, or when moving a unit from one stack to
another stack or the ID of a unit is changed by secure-setup.
When you renumber identical units using secure-setup, the configurations are not mapped to the new
units (because they match exactly). However, if you switch the IDs of units that are not identical, a
configuration mismatch occurs.
When a configuration mismatch occurs, port-related functions on all ports are disabled on the
mismatched unit (except for the stacking ports). All other functions are unaffected. For example, the
active controller can still copy the unit's image or reset the unit.
Auto Image Copy for stack units
The Auto Image Copy feature ensures that all units in a stack are running the same flash image after a
stack merge. This feature also enables automatic reload of the stack units. It prevents the image
mismatch that occurs when one or more member units join the stack with a different running image
and signature than that of the master and standby units.
Auto Image Copy is enabled by default on devices and the user does not have to manually copy the
master’s running image to the mismatched members.
This feature is available on the following devices:
•Brocade FCX Series (FCX) Stackable Switch
•Brocade ICX 6610 Series (ICX 6610) Stackable Switch
•Brocade ICX 6430 Series (ICX 6430) Stackable Switch
•Brocade ICX 6450 Series (ICX 6450) Stackable Switch
Auto Image Copy limitations
The following limitations apply to the Auto Image Copy feature:
•This feature is applicable to those stack units that are in a non-operational image mismatch state
only.
•Auto Image Copy does not work if the image version of the IPC is different from the stack unit
version in the case of a major image mismatch.
•If a stack unit with a newer image is merged with a stack running an older version of the software,
the newly formed stack will still be running the older version of the software.
•Auto Image Copy does not work if the user has copied a different image into the flash, creating a
mismatch in versions between the flash and the running image on the active unit of the stack.
Disabling Auto Image Copy
Auto Image Copy is enabled by default. However, if you wish to disable this feature, enter the following
command in global configuration mode.
device(config)# image-auto-copy disable
Syntax:[no] image-auto-copydisable
Run the no image-auto-copy disable command to enable Auto Image Copy. This restarts the Auto
Image Copy immediately and ensures that all stack units have the same image.
NOTE
You can run the show running-config or the show stack detail command to see if Auto Image Copy
is disabled.
Use the show stack detail command to verify if there are any units in the mismatch state after the
stack is formed.
Memory allocation failure
A memory allocation (malloc) failure occurs when the active controller does not have enough memory to
run a stack unit. This failure may occur if you configure large numbers (for example, 4 K of VLANs, or
STP instances (for example, 255) in the router image. This message means that the active controller is
low on memory after allocating these resources and does not have enough remaining memory to
control a stack member. You can correct this by reducing the number of VLANs or STP instances.
NOTE
After you make configuration changes such as number of VLANs or STP instances, you must reset the
stack.
Recovering from a stack unit configuration mismatch
When a configuration mismatch occurs, the active controller logs and displays a configuration mismatch
message, and puts the mismatched unit into a non-operational state. In the following example, the
original stack unit 3 has failed, and a replacement unit has been installed that does not match the
configuration of the original unit. You should see the following message.
Warning! put stack unit 3 to non-operational reason= config mismatch
Complete the following steps to recover from a configuration mismatch.
1.Enter the show stack command to see the status of the stack, and a show running-config
command to see the configurations of the stack units.
device# show stack
alone: standalone, D: dynamic config, S: static config
ID Type Role MAC Address Pri State Comment
1 FCX624 active 0000.00eb.a900 128 local Ready
2 FCX648 member 0000.004f.4243 0 remote Ready
3 FCX624 standby 0000.0001.0100 0 remote NON-OP:config mismatch
If you are unable to remove the configuration because of a multi-slot trunk configuration, you must
first manually remove the multi-slot trunk configuration.
3.When you have successfully deleted the mismatched stack unit, a re-election is triggered, and the
active controller learns the correct module configuration from the standby controller or from other
stack members. No reload is required.
Troubleshooting secure-setup
Secure-setup can be used to form linear and ring stack topologies. For information about the
procedure, refer to “Scenario 1 - Three-member traditional stack in a ring topology using securesetup”. During this procedure, if secure-setup does not detect all the units that should be detected,
perform the following checks:
•Make sure that all the cables are properly connected
•Make sure that all the relevant ports are in UP state
•Make sure that all the units are running the same image
•Make sure that you issue the stack enable command only on the unit that will serve as the active
controller
•Make sure that stack disable is not configured on any prospective members
•Make sure that the connection is sequential (refer to “Brocade traditional stacking terminology,
Sequential Connection”)
If secure-setup times out (this may happen due to inactivity), you will not be able to make any changes
in your configuration or stack topology until you restart the session by entering the stack secure-setup command.
The unit discovery process is triggered when secure-setup is initiated. However, if the stack unit is
placed in a topology where another unit in the stack is already running the discovery process, the
current discovery process is terminated. If this is the case, you will see a message similar to the
following.
"Topology discovery is already in progress originated from mac-address. Please try
later."
This means a discovery process is already active and was initiated from the unit with the mac-address
mentioned in the message. You will need to re-issue secure-setup.
If there is already an active discovery process, secure-setup may not discover all the intended units. If
this is the case, you will need to restart the secure-setup process.
Troubleshooting unit replacement issues
If you are unsuccessful in building a stack using the automatic setup process (refer to “Scenario 2 Three-member traditional stack in a ring topology using the automatic setup process”), or adding or
replacing a unit in a stack, consider the following issues:
•Make sure that the number of units in your stack does not exceed the maximum of 8
•Make sure that the replacement unit is a clean unit (does not contain a startup-config.txt file)
•Make sure that the replacement unit running configuration does not contain “stack enable”
•Make sure the replacement unit running configuration does not contain “stack disable”
•Make sure that the configurations of the stack ports on the active controller match the physical
connections to the unit
This section discusses stacking technology in greater detail than the information presented in the
previous sections.
Configuration, startup configuration files, and stacking flash
Stacking system behavior is defined by the runtime configuration, which can be displayed using the
show run command. The write memory command stores the runtime configuration in a flash file called
startup-config.txt. During bootup, the system reads and applies the startup-config.txt file to the runtime
configuration. The startup-config.txt file can be shown using the show config command.
The stacking system installs a stacking.boot file on each unit that tells the unit what its role is during the
boot process. The stacking.boot file is generated whenever there is an election that defines the roles for
all units.
When an active controller is booted, or a write memory command is issued, the active controller
synchronizes its startup-config.txt file to every stack unit. The original startup-config.txt files in the
standby controller and other stack members are renamed to startup-config.old . If you issue the stackunconfigure me command on the standby controller or stack member directly, these units will recover
their original startup-config.txt files and reboot as standalone devices. If you enter the stackunconfigure all command from the active controller all devices will recover their old startup-config.txt
files and become standalone devices. When this happens, the startup-config.old file is renamed to
startup-config.txt , and the stacking.boot file is removed.
Whenever a change is made to the configuration of a stack unit, such as priority, (which could affect
stack elections) an election is held, and the result is written into the stacking.boot file. A prompt
message appears on the console that suggests you do a write memory. For an active controller role
change to take effect, you will need to reset the entire stack.
If you do not do a write memory, and reset the stack, the stack units will continue to operate in their
roles as defined by the stacking.boot file. After the reset, each unit readjusts based on the current
runtime configuration. However, you may get different results depending on what has not been saved. If
you have renumbered the stack unit IDs, you may see a configuration mismatch, because your changes
no longer match the active controller configuration.
If you change priorities to elect an active controller, the new active controller will assume its role after a
reboot whether you have done a write memory or not. If you do not save your priority change before
the next reboot, the reboot will trigger an election that may result in a different winner based on the
priority in the unsaved configuration. The new winner assumes its role after the next reboot.
If you change the stacking port configuration and do not save your changes, you may encounter
connectivity errors. To recover from a configuration error, run secure-setup to define the correct
stacking port.
More about traditional stack technology
NOTE
You should always do a write memory after making stacking-related configuration changes such as
priority and stacking ports. If you do not want to keep the changes, change the configuration back to the
previous version, and do a write memory. Do not discard configuration changes by using the reset
without a write memory.
Brocade traditional stack technology supports both linear and ring stack topologies. Because the
unicast switching follows the shortest path in a ring topology, this topology offers the strongest
redundancy. When the ring is broken, the stack recalculates the forwarding path the resumes the flow
of traffic within a few seconds. In a ring topology, all stack members must have two stacking ports,
however, In a linear topology, both end units use only one stacking port, leaving the other port
available as a data port. To see an illustrated example of each topology, refer to “Brocade traditional
stacking topologies.”
Port down and aging
If a unit is powered down, or the stacking link is removed, the system immediately detects the port
down and knows that its neighbor is gone. That unit is immediately removed from the active controller.
If a unit is gone or no longer stack-enabled, but its stacking link is still on, it will take 20 seconds to age
the neighbor out. The following message will be logged and displayed.
Warning! my mac=0000.004f.4243, age out up-stream
Traditional stack device roles and elections
There are three distinct roles played by units that are part of a traditional stack:
•Active controller
•Standby controller
•Stack member
Active controller
The active controller contains the saved and running configuration files for each stack member. The
configuration files include the system-level settings for the stack, and the interface-level settings for
each stack member, as well as MIB counters and port status. The standby controller also has a
synchronized copy of the active controller startup config file for use in the event the active controller
fails.
When a stack is formed, the console function for each stack member is automatically redirected to the
active controller console. The active controller console port handles all stack management functions,
as well as ping, Telnet sessions, and TFTP image downloads for every stack member. If you connect
to the console port on a stack member that is not the active controller, you are automatically directed
through the console of the active controller.
The active controller synchronizes its start-up configuration with the standby controller and the rest of
the stack members. You can recover the previous flash configuration of the standby controller and the
stack members by issuing the stack unconfigure command. For an example of this command and
the output generated, refer to Unconfiguring a traditional stack on page 61.
The active controller may reset the rest of the stack members, if necessary. However, if the active
controller itself must be reset because of a role or ID change, you must issue the reset command.
If the active controller fails, the standby controller waits 30 seconds, and then takes over as active
controller, resetting itself and all other stack members. If the old active controller becomes operational,
it may or may not resume its role as active, depending on the configured priorities. If hitless stacking
failover is enabled, the standby unit can take over immediately without reloading any unit.
In addition to the active controller, another stack member is elected as the standby controller. After a
default interval of 30 seconds, the standby controller takes over if the active controller fails. If hitless
stacking failover is enabled, the standby unit can take over immediately without reloading any unit.
NOTE
Because it can take as long as 20 seconds to age out a neighbor, the standby takeover period may last
up to 50 seconds. Refer to Port down and aging on page 94.
The standby controller synchronizes its configuration with the active controller at each reset.
Bootup role
When a stack unit boots, it boots in a particular role, such as standalone, active controller, standby
controller, or stack member. When the bootup role is standby controller or stack member, the CLI
available to the unit is limited to show and stack commands. A unit in the role of standby or stack
member will not act without instructions from the active controller. To convert a standby controller or
stack member into a standalone device, use the stack unconfigure me command (refer to
Unconfiguring a traditional stack on page 61).
The last line of the show version output identifies the unit role unless the unit is in standalone mode.
My stack unit ID = 1, bootup role = active
My stack unit ID = 3, bootup role = standby
Active controller and standby controller elections
Whenever there is a topology change in the stack (a reset, unit failure, or the addition or removal of
members), elections are held to determine the status of the active controller and standby controller. The
results of the election take effect after the next stack reset.
The following conditions, in the order shown, determine which units will serve as active controller and
standby controller after an election:
•Boot as active controller - Indicates that a unit was previously active controller before the current
boot sequence and will again assume the role of active controller when two standalone units are
combined into a stack. When a third standalone unit joins the stack, a current active controller
becomes subject to the other factors in this list. The reason for this hierarchy of factors is to
achieve a predictable winner regardless of the boot up sequence for a unit. You can upgrade your
current active controller to "boot as active controller" status by performing a write memory . The
system interprets the write memory action as a directive to maintain the current active controller
role regardless of resets or a new unit joining the stack.
•Priority - The unit with the highest priority value.
•Greater number of members - The unit that has control over the greater number of stack
members.
•Longer up time - An up time that is more than 30 seconds longer that the next one in size is
considered. Where up times are compared, there is no effect if the difference is less than 30
seconds.
•Lowest boot stack ID - The unit that has the lowest boot stack ID (1-8, 1 is the lowest).
•MAC address - The member with the lowest MAC address.
If the active controller is reset or removed from the stack, the entire stack reloads and active controller
and standby controller elections are initiated. If the unit functioning as the previous active controller is
no longer part of the stack, the standby controller unit becomes the new active controller. After a reset,
if no stack member qualifies as active controller, the existing standby controller waits 30 seconds and
then assumes the role of active controller.
NOTE
The details in the preceding paragraph apply to the default setup, with hitless stacking failover not
enabled.
If both active and standby controllers are removed the rest of the stack will continue to function
because they are operating on whatever is programmed in the hardware. The stack members will not
be able to learn any new addresses. You will see the following message every few minutes.
Stack member is non-operational because of no Active or standby controller
You can recover to standalone mode by "stack unconfigure me"
Use stack unconfigure me to restore the units into standalone devices with a pre-stacking
configuration.
Selecting a standby stack unit
You can choose a standby controller by configuring a stack unit priority to be the second highest, or
the same as the active controller. If the priorities are configured the same for both, when the original
active controller fails, the standby controller takes over. If the original active controller becomes active
again, it will not win back its active role, which helps to minimize interruption of the stack. However, if
the original active controller has the higher priority, it will win back its role and reset all of the stack
units.
Standby controller election criteria
The standby controller election is based on the following criteria.
•The highest priority
•Bootup as active controller
•Bootup as standby controller
•The lowest boot ID
•The lowest MAC address
Because standby election candidates must have startup configurations that have been synchronized
with the active controller, if the active controller does not have a startup-config.txt file, there will not be
a standby controller. Once a write memory is performed on the active controller, the startup-config.txt
file is written and synchronized to all stack members, and a standby controller can be elected.
Hitless stacking
Hitless stacking is supported on FCX and ICX units in a traditional stack. It is a high-availability feature
set that ensures sub-second or no loss of data traffic during the following events:
•Removal or disconnection of the stacking cable between the active and standby controllers
During such events, the standby controller takes over the active role and the system continues to
forward traffic seamlessly, as if no failure or topology change has occurred. In software releases that do
not support hitless stacking, events such as these could cause most of the units in a stack to reset,
resulting in an impact to data traffic.
The following hitless stacking features are supported:
Hitless stacking switchover - A manually-controlled (CLI-driven) or automatic switchover of the active
and standby controllers without reloading the stack and without any packet loss to the services and
protocols that are supported by hitless stacking. A switchover is activated by the CLI command stackswitch-over. A switchover might also be activated by the CLI command priority, depending on the
configured priority value.
Hitless stacking failover - An automatic, forced switchover of the active and standby controllers
because of a failure or abnormal termination of the active controller. In the event of a failover, the active
controller abruptly leaves the stack and the standby controller immediately assumes the active role. Like
a switchover, a failover occurs without reloading the stack. Unlike a switchover, a failover generally
happens without warning and will likely have sub-second packet loss (packets traversing the stacking
link may be lost) for a brief period of time.
Hitless stacking is disabled by default.
Supported hitless stacking events
The following events are supported by hitless stacking:
•Failover
•Switchover
•Priority change
•Role change
Non-supported hitless stacking events
The following events are not supported by hitless stacking. These events require a software reload,
resulting in an impact to data traffic.
•Unit ID change - When a stack is formed or when a unit is renumbered using secure-setup.
•Stack merge - When the old active controller comes back up, it reboots. If it has fewer number of
members than the active controller, it loses the election, regardless of its priority. If it has a higher
priority, it becomes the standby controller after the reboot and is synchronized with the active
controller. Next, a switchover occurs and it becomes the new active controller.
Supported hitless stacking protocols and services
The following table highlights the impact of a hitless switchover or failover to the major functions of the
system.
NOTE
Services and protocols that are not listed in the following table will encounter disruptions, but will
resume normal operation once the new active controller is back up and running.
Layer 2
switched
traffic,
including
unicast and
multicast
+
System-level
+
Layer 4
and services
•802.1p and
802.1Q
•802.3ad - LACP
•802.3af - PoE
•802.3at - PoE+
•DSCP honoring
and Diffserv
•Dual-mode VLAN
•IGMP v1, v2, and
v3 snooping
•IPv4 ACLs
•Layer 2 switching
(VLAN and
802.1Q-in-Q)
•MAC-based
VLANs
•MLD v1 and v2
snooping
•MRP
•Multiple spanning
tree (MSTP)
•Physical port/link
state
•PIM SM snooping
•Port mirroring and
monitoring
•Port trunking
•Rapid spanning
tree (RSTP)
•Spanning tree
(STP)
•ToS-based QoS
•Policy Based
Routing
•Traffic policies
•UDLD
•VSRP
Impact
Layer 2 switched traffic is
not impacted during a
hitless stacking event. All
existing switched traffic
flows continue
uninterrupted.
New switched flows are
not learned by the switch
during the switchover
process and are flooded to
the VLAN members in
hardware. After the new
active controller becomes
operational, new switched
flows are learned and
forwarded accordingly.
The Layer 2 control
protocol states are not
interrupted during the
switchover process.
Layer 3
IPv4
routed
traffic
(unicast)
•IPv4
unicast
forwarding
•Static
routes
•OSPF v2
•OSPF v2
with
ECMP
•VRRP
•VRRP-E
•BGP4+
Layer 3 routed
traffic for
supported
protocols is not
impacted
during a hitless
stacking event.
All existing
Layer 3 IPv4
multicast flows
and receivers
may be
interrupted.
Traffic will
converge to
normalcy after
the new active
module
becomes
operational.
Other Layer 3
protocols that
are not
supported will
be interrupted
during the
switchover or
failover.
If BGP4+
graceful restart
or OSPF
graceful restart
is enabled, it
will be
gracefully
restarted and
traffic will
converge to
normalcy after
the new active
module
becomes
operational.
For details
about OSPF
graceful restart
and BGP4+
graceful
restart, refer to
the FastIron