A "high availability" system comprises multiple switches under the control
of a control processor ("CP"). The firmware executing on the processor
can be changed when desired. Consistent with the high availability nature
of the system (i.e., minimal down time), a single CP system implements a
firmware change by loading new firmware onto the system, saving state
information pertaining to the old firmware, preventing the old firmware
from communicating with the switches, bringing the new firmware to an
active state and applying the saved state information to the new
firmware.