Software Maintenance Upgrade

The Software Maintenance Upgrade (SMU) is a feature used to deliver critical software fixes without requiring a full image upgrade.

Software Maintenance Upgrade package

The Software Maintenance Upgrade (SMU) is a package that can be installed on a system to provide a patch fix or security resolution to a released image for a specific defect in order to respond to immediate issues. It does not contain new features.

  • SMUs are provided on a per release, per component basis and are specific to the platform. SMU versions are synchronized to the package major, minor, and maintenance versions they upgrade.

  • SMUs are not an alternative to maintenance releases; all defects fixed by SMUs are automatically integrated into upcoming maintenance releases.

  • The Cisco IOS XE platform internally validates SMU compatibility and does not allow installation of non-compatible SMUs, based on rules and limitations for a SMU change-set.

  • An SMU allows you to address network issues quickly while reducing the time and scope of required testing compared to classic IOS software.

  • SMU is a method to fix bugs in an existing release and allows the application of a PSIRT fix in an existing release.

  • SMU is NOT an upgrade path from release X to release Y.

Hot Patching in SMU

The device only supports:

  • The running image is modified in-place or in-service.

  • This avoids downtime and interruption of service.

  • The updated code to fix the defect is written in a different location, and the patch redirects the program run.

SMU workflow requirements

The workflow for the patch requires that you complete these sequence of operations in exec mode:

  1. Addition of the SMU to the file system.

  2. Activation of the SMU onto the system.

  3. Committing the SMU change.

  4. Removal and uninstallation of the SMU.

The basic requirements for SMU are:

  • The image where the defect was discovered.

  • The patch file that contains the fix for the defect must be formatted as ir8100-image_name.release_version.CSCxxyyyyy.SPA.smu.bin.

Install a patch image

Before you begin


Note


Use this task as an example of a patch created as a test. Your patch will have a name associated with a CDET to be installed as a fix.


Use these steps to install the patch image:

Procedure


Step 1

Use the enable command to enable the router and enter the privileged EXEC mode.

Example:


                        Router> 
                        enable
                    

Step 2

Use the show power command to verify the overall power consumption.


                        Router#
                        show power
                        Main PSU :
                        Total Power Consumed: 11.37 Watts
                        Configured Mode : N/A
                        Current runtime state same : N/A
                        PowerSupplySource : External PS
                        POE Module :
                        Configured Mode : N/A
                        Current runtime state same : N/A
                        Total power available : 30 Watts
                        Router#
                    

Step 3

Use the install add file bootflash:image-file command to add the image.


                        Router# 
                        install add file bootflash:/ir8100-universalk9.BLD_V175_THROTTLE_LATEST_20210124_063209_V 17_5_0_148.SSA.bin CSCxx12345.SSA.smu.bin
                        
                        install_add: START Thu Aug  6 11:52:52 PDT 2020
                        cat: /tmp/patch/patch.sta: No such file or directory
                        install_add: Adding SMU
                        install_add: Checking whether new add is allowed ....
                        --- Starting SMU Add operation ---
                        Performing SMU_ADD on Active/Standby
                        [1] SMU_ADD package(s) on R0
                        [1] Finished SMU_ADD on R0
                        Checking status of SMU_ADD on [R0]
                        SMU_ADD: Passed on [R0]
                        Finished SMU Add operation
                        SUCCESS: install_add  Thu Aug  6 11:53:31 PDT 2020
                        Router#
                    

Step 4

Use the install activate file bootflash:image-file command to activate the patch image.


                        Router# 
                        install activate file bootflash:/ir8100-universalk9.BLD_V175_THROTTLE_LATEST_20210124_063209_V 17_5_0_148.SSA.bin CSCxx12345.SSA.smu.bin
                        
                        install_activate: START Thu Aug  6 11:53:59 PDT 2020
                        System configuration has been modified.
                        Press Yes(y) to save the configuration and proceed.
                        Press No(n) for proceeding without saving the configuration.
                        Press Quit(q) to exit, you may save configuration and re-enter the command. [y/n/q] 
                        y
                        Building configuration...
                        [OK]Modified configuration has been saved
                        install_activate: Activating SMU
                        Executing pre scripts....
                        Executing pre sripts done.
                        --- Starting SMU Activate operation ---
                        Performing SMU_ACTIVATE on Active/Standby
                        /usr/sbin/kgv_update: kgv_update [ /flash1/ir8100-universalk9.2020-08-06_10.38_shchang2.0.CSCxx12345.SSA.smu.bin, NOT slot local is ics ] continuing ....
                        /usr/sbin/kgv_update: Signature validated for /flash1/ir8100-universalk9.2020-08-06_10.38_shchang2.0.CSCxx12345.SSA.smu.bin
                        /usr/sbin/kgv_update: TAM hash len:32 val:4407CBB447F0EEE3B12120D902F48FBA1C0D4900EED1FB614441198BE2302934
                        /usr/sbin/kgv_update: PCR8 before extend ctr:2 0817449B454BF036AF9D593D726D94D8942C50A9FFE93278FDA78EA62F2989F2
                        /usr/sbin/kgv_update: PCR8 after extend ctr:3 EF5F579FCDFA989D044296F0584B99F719F2B6215895524B5E8AD55DF5671560
                        /usr/sbin/kgv_update: PCR extend successful
                        /usr/sbin/kgv_update: Chasfs updated for name:bootflash:/ir8100-universalk9.BLD_V175_THROTTLE_LATEST_20210124_063209_V 17_5_0_148.SSA.bin CSCxx12345.SSA.smu.bin hash:975352C1562A492D582D09D5BB91230863F6CC18E6F9C0EB512AF27CC0C77E2C05F29596AD34AD7808C9B39EC23D4412F0D3AFA707BC906FE03D554A845E42D4
                        /usr/sbin/kgv_update: Update successful for bootflash:/ir8100-universalk9.BLD_V175_THROTTLE_LATEST_20210124_063209_V 17_5_0_148.SSA.bin CSCxx12345.SSA.smu.bin
                        [1] SMU_ACTIVATE package(s) on R0
                        [1] Finished SMU_ACTIVATE on R0
                        Checking status of SMU_ACTIVATE on [R0]
                        SMU_ACTIVATE: Passed on [R0]
                        Finished SMU Activate operation
                        SUCCESS: install_activate flash1/ir8100-universalk9.BLD_V175_THROTTLE_LATEST_20210124_063209_V 17_5_0_148.SSA.bin CSCxx12345.SSA.smu.bin
                        Thu Aug  6 11:55:14 PDT 2020
                        Router#
                    

Step 5

Use the install commit command to commit the installation.


                        Router# 
                        install commit
                        install_commit: START Thu Aug  6 11:55:29 PDT 2020
                        install_commit: Committing SMU
                        Executing pre scripts....
                        Executing pre sripts done.
                        --- Starting SMU Commit operation ---
                        Performing SMU_COMMIT on Active/Standby
                        [1] SMU_COMMIT package(s) on R0
                        [1] Finished SMU_COMMIT on R0
                        Checking status of SMU_COMMIT on [R0]
                        SMU_COMMIT: Passed on [R0]
                        Finished SMU Commit operation
                        SUCCESS: install_commit flash1/ir8100-universalk9.BLD_V175_THROTTLE_LATEST_20210124_063209_V 17_5_0_148.SSA.bin CSCxx12345.SSA.smu.bin Thu Aug  6 11:56:08 PDT 2020
                        Router#
                    

Step 6

Use the show install summary command to display the status summary of the installation.


                        Router# 
                        show install summary
                        [ R0 ] Installed Package(s) Information:
                        State (St): I - Inactive, U - Activated & Uncommitted,
                        C - Activated & Committed, D - Deactivated & Uncommitted
                        --------------------------------------------------------------------------------
                        Type  St   Filename/Version
                        --------------------------------------------------------------------------------
                        IMG   C    17.04.01.0.118999
                        SMU   C    bootflash:/ir8100-universalk9.BLD_V175_THROTTLE_LATEST_20210124_063209_V 17_5_0_148.SSA.bin CSCxx12345.SSA.smu.bin
                        --------------------------------------------------------------------------------
                        Auto abort timer: inactive
                        --------------------------------------------------------------------------------
                        Router#
                    

Step 7

Use the show power command to verify the result of the patch by showing the same command.


                        Router#
                        show power
                        Main PSU :
                        Total Power Consumed: 11.04 Watts
                        Device HOT SMU works!
                        Configured Mode : N/A
                        Current runtime state same : N/A
                        PowerSupplySource : External PS
                        POE Module :
                        Configured Mode : N/A
                        Current runtime state same : N/A
                        Total power available : 0 Watts
                        Router#
                    

Uninstall patch image using rollback

Procedure


Step 1

Use the enable command to enable the router and enter the privileged EXEC mode.

Example:


                        Router> 
                        enable
                    

Step 2

Use the show install summary command to display the install summary.

Example:


                        Router# show install summary
                        [ R0 ] Installed Package(s) Information:
                        State (St): I - Inactive, U - Activated & Uncommitted,
                        C - Activated & Committed, D - Deactivated & Uncommitted
                        --------------------------------------------------------------------------------
                        Type  St   Filename/Version
                        --------------------------------------------------------------------------------
                        IMG   C    17.04.01.0.118999
                        SMU   C    bootflash:/ir8100-universalk9.BLD_V175_THROTTLE_LATEST_20210124_063209_V 17_5_0_148.SSA.bin CSCxx12345.SSA.smu.bin
                        --------------------------------------------------------------------------------
                        Auto abort timer: inactive
                        --------------------------------------------------------------------------------
                        Router#
                    

Step 3

Use the install ? command to view all the available commands.

Example:


                        Router# 
                        install ?
                        abort             Abort the current install operation
                        activate          Activate an installed package
                        add               Install a package file to the system
                        auto-abort-timer  Install auto-abort-timer
                        commit            Commit the changes to the loadpath
                        deactivate        Deactivate an install package
                        label             Add a label name to any installation point
                        prepare           Prepare package for operation
                        remove            Remove installed packages
                        rollback          Rollback to a previous installation point
                        Router# 
                        install rollback to ?
                        base       Rollback to the base image
                        committed  Rollback to the last committed installation point
                        id         Rollback to a specific install point id
                        label      Rollback to a specific install point label
                    

Step 4

Use the install rollback to base command to restore the image to its original version.

Example:


                        Router# 
                        install rollback to base
                        install_rollback: START Thu Aug  6 12:04:04 PDT 2020
                        install_rollback: Rolling back SMU
                        Executing pre scripts....
                        Executing pre sripts done.
                        --- Starting SMU Rollback operation ---
                        Performing SMU_ROLLBACK on Active/Standby
                        [1] SMU_ROLLBACK package(s) on R0
                        [1] Finished SMU_ROLLBACK on R0
                        Checking status of SMU_ROLLBACK on [R0]
                        SMU_ROLLBACK: Passed on [R0]
                        Finished SMU Rollback operation
                        CSCxx12345:SUCCESS
                        SUCCESS: install_rollback /flash1/ir8100-universalk9.2020-08-06_10.38_shchang2.0.CSCxx12345.SSA.smu.bin Thu Aug  6 12:04:57 PDT 2020
                        Router#
                    

Step 5

Use the show install summary command to display the installed patches.

Example:


                        Router# show install summary
                        [ R0 ] Installed Package(s) Information:
                        State (St): I - Inactive, U - Activated & Uncommitted,
                        C - Activated & Committed, D - Deactivated & Uncommitted
                        --------------------------------------------------------------------------------
                        Type  St   Filename/Version
                        --------------------------------------------------------------------------------
                        IMG   C    17.04.01.0.118999
                        --------------------------------------------------------------------------------
                        Auto abort timer: inactive
                        --------------------------------------------------------------------------------
                        Router#

Note

 
In the above command output, the patch has been removed and the device returns to the base image version prior to the upgrade.

Step 6

Use the show power command to verify the result of the patch.

Example:


                        Router#
                        show power
                        Main PSU :
                        Total Power Consumed: 11.98 Watts
                        Configured Mode : N/A
                        Current runtime state same : N/A
                        PowerSupplySource : External PS
                        POE Module :
                        Configured Mode : N/A
                        Current runtime state same : N/A
                        Total power available : 30 Watts
                        Router#
                    

Uninstall the patch image using deactivate, commit, and remove commands


Note


In this task there are two patches installed on the devices: CSCvq11111 and CSCvt22222. but only CSCvt22222 will be removed.


Procedure


Step 1

Use the show install summary command to display the installation and patch details.

Example:


                Router# 
                show install summary
                [ R0 ] Installed Package(s) Information:
                State (St): I - Inactive, U - Activated & Uncommitted,
                C - Activated & Committed, D - Deactivated & Uncommitted
                --------------------------------------------------------------------------------
                Type  St   Filename/Version
                --------------------------------------------------------------------------------
                SMU   C    /flash1/ir8100-universalk9.<release>.CSCvq11111.SPA.smu.bin
                SMU   C    /flash1/ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin
                IMG   C    17.04.1
            

Step 2

Use the install deactivate file bootflash: patch-file command to deactivate the patch.


                        Router# 
                        install deactivate file bootflash:/ir8100-universalk9.release.CSCvt22222.SPA.smu.bin
                        install_deactivate: START Fri Apr 24 22:54:10 UTC 2020
                        install_deactivate: Deactivating SMU
                        Executing pre scripts....
                        Executing pre sripts done.
                        --- Starting SMU Deactivate operation ---
                        Performing SMU_DEACTIVATE on Active/Standby
                        [R0] SMU_DEACTIVATE package(s) on R0
                        [R0] Finished SMU_DEACTIVATE on R0
                        Checking status of SMU_DEACTIVATE on [R0]
                        SMU_DEACTIVATE: Passed on [R0]
                        Finished SMU Deactivate operation
                        SUCCESS: install_deactivate /flash1/ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin Fri Apr 24 22:54:49 UTC 2020
                    

Step 3

Use the show install summary command to display the installed patches.

Example:


                        Router# 
                        show install summary
                        [ R0 ] Installed Package(s) Information:
                        State (St): I - Inactive, U - Activated & Uncommitted,
                        C - Activated & Committed, D - Deactivated & Uncommitted
                        --------------------------------------------------------------------------------
                        Type  St   Filename/Version
                        --------------------------------------------------------------------------------
                        SMU   C    /flash1/ir8100-universalk9.<release>.CSCvt11111.SPA.smu.bin
                        SMU   D    /flash1/ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin
                        IMG   C    17.01.1 
                    

Step 4

Use the install commit command to save.


Router# install commit
install_commit: START Fri Apr 24 22:56:11 UTC 2020
install_commit: Committing SMU
 
*Apr 24 22:56:15.169: %INSTALL-5-INSTALL_START_INFO: R0/0: install_engine: Started install commitExecuting pre scripts....
Executing pre sripts done.
--- Starting SMU Commit operation ---
Performing SMU_COMMIT on Active/Standby
  [R0] SMU_COMMIT package(s) on R0
  [R0] Finished SMU_COMMIT on R0
Checking status of SMU_COMMIT on [R0]
SMU_COMMIT: Passed on [R0]
Finished SMU Commit operation
 
SUCCESS: install_commit /flash1/ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin Fri Apr 24 22:56:32 UTC 2020
 
*Apr 24 22:56:33.342: %INSTALL-5-INSTALL_COMPLETED_INFO: R0/0: install_engine: Completed install commit SMU

Step 5

Use the show install summary command to display the installed patches.

Example:


Router# show install summary
[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
SMU   C    /flash1/ir8100-universalk9.<release>.CSCvt11111.SPA.smu.bin
SMU   I    /flash1/ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin
IMG   C    <release>

Step 6

Use the install remove file flash: patch-file command to remove the patch.

Example:


Router# install remove file flash:ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin
install_remove: START Fri Apr 24 22:57:17 UTC 2020
 
*Apr 24 22:57:20.775: %INSTALL-5-INSTALL_START_INFO: R0/0: install_engine: Started install remove flash:ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bininstall_remove: Removing SMU
Executing pre scripts....
Executing pre scripts done.
 
--- Starting SMU Remove operation ---
Performing SMU_REMOVE on Active/Standby
  [R0] SMU_REMOVE package(s) on R0
  [R0] Finished SMU_REMOVE on R0
Checking status of SMU_REMOVE on [R0]
SMU_REMOVE: Passed on [R0]
Finished SMU Remove operation
 
SUCCESS: install_remove /flash1/ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin Fri Apr 24 22:57:34 UTC 2020
 
*Apr 24 22:57:34.902: %INSTALL-5-INSTALL_COMPLETED_INFO: R0/0: install_engine: Completed install remove flash:ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin

Show what patches are installed:

Step 7

Use the show install summary command to display the installed patches.

Example:


                        Router# 
                        show install summary
                        [ R0 ] Installed Package(s) Information:
                        State (St): I - Inactive, U - Activated & Uncommitted,
                        C - Activated & Committed, D - Deactivated & Uncommitted
                        --------------------------------------------------------------------------------
                        Type  St   Filename/Version
                        --------------------------------------------------------------------------------
                        SMU   C    /flash1/ir8100-universalk9.<release>.CSCvt11111.SPA.smu.bin
                        SMU   I    /flash1/ir8100-universalk9.<release>.CSCvt22222.SPA.smu.bin
                        IMG   C    <release>