Patent ID: 8122234

Claim:
A switch comprising: a first memory that comprises a first segment configured to store a first image file containing (i) boot information to configure the switch, and (ii) code to coordinate frame-forwarding of switch-to-switch traffic, and a second segment configured to store a second image file that is separate from the first image file, wherein the second image file contains code to permit the switch to remotely load a file, and wherein the second image file does not include the code to coordinate frame-forwarding of switch-to-switch traffic; a second memory configured to store a boot program; a third memory; and a control module configured to boot up the switch by executing the boot program stored in the second memory, wherein in response to the boot program being executed, the control module is configured to (i) transfer the first image file from the first segment of the first memory to the third memory, and (ii) determine whether there is an error associated with the first image file transferred to the third memory, in response to the control module not detecting an error with the first image file transferred to the third memory, the control module is configured to (i) configure the switch in accordance with the boot information contained in the first image file, and (ii) configure the switch to perform frame-forwarding of switch-to-switch traffic in accordance with the code to coordinate frame-forwarding of switch-to-switch traffic, in response to the control module detecting an error with the first image file transferred to the third memory and determining that the first image file is unusable, the control module is configured to (i) transfer the second image file from the second segment of the first memory to the third memory, and (ii) determine whether there is an error associated with the second image file transferred to the third memory, in response to the control module not detecting an error with the second image file transferred to the third memory, the control module is configured to replace the first image file with an updated image file received by the switch, wherein the updated image file is received by the switch in accordance with the code to permit the switch to remotely load a file contained the second image file, and wherein prior to the switch being configured in accordance with the updated image file, the switch is configured to (i) only allow traffic to and/or from the switch and (ii) not perform frame-forwarding of switch-to-switch traffic due to the second image file not including the code to coordinate frame-forwarding of switch-to-switch traffic, and in response to the control module detecting an error with the second image file transferred to the third memory and determining that the second image file is unusable, the control module is configured to indicate that each of the first image file and the second image file is unusable.