Software Maintenance Upgrade (SMU)
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.
Some of the caveats of the SMU are:
- Provided on a per release, per component basis and is 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 then automatically integrated into the upcoming maintenance releases.
- The Cisco IOS XE platform internally validates the SMU compatibility and does not allow you to install non-compatible SMUs. This is based on rules/limitations for a SMU change-set.
- An SMU provides a significant benefit over classic IOS software as it allows you to address the network issue quickly while reducing the time and scope of the testing required.
- 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 maintenance release X.1
- SMU is NOT an upgrade path from release X to release Y
The device only supports “Hot Patching”. This means:
- 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 where the patch redirects the program run
SMU Workflow and Basic Requirements
The workflow for the patch requires that you complete the following sequence of operation in exec mode:
-
Addition of the SMU to the file system.
-
Activation of the SMU onto the system.
-
Committing the SMU change.
-
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.
SMU Example
This section shows 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.
Installing a Patch Image
Perform the following steps to install the patch image:
Procedure
Step 1 |
Show a standard command.
|
Step 2 |
Add the image.
|
Step 3 |
Activate the patch image.
|
Step 4 |
Commit the installation.
|
Step 5 |
Show the status summary of the installation procedure.
|
Step 6 |
Verify the result of the patch by showing the same command.
|
Uninstalling the Patch Image
There are two methods to remove or uninstall the patch image.
-
Restoring the image to its original version by using the following command:
- install rollback to base
-
Specific removal of a patch by using the following commands in sequence:
- install deactivate file flash:<file>
- install commit
- install remove file flash:<file>
Uninstalling the Patch Image Using Rollback
This section shows an example of using the rollback method.
Show what patches are installed:
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#
The following commands are available:
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
The install rollback to base command removes the entire patch and returns to the base image version with the found defect.
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#
Show what patches are installed:
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. |
Verify the result of the patch by showing the same command.
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#
Uninstalling the Patch Image Using Deactivate, Commit, and Remove
Show what patches are installed.
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
Procedure
Step 1 |
Deactivate the patch.
Show what patches are installed:
|
Step 2 |
Commit the action.
|
Step 3 |
Remove the patch.
Show what patches are installed:
|