Contextual Configuration Diff Utility

The Contextual Configuration Diff Utility feature provides the ability to perform a line-by-line comparison of any two configuration files (accessible through the Cisco Integrated File System [IFS]) and generate a list of the differences between them. The generated output includes information about configuration lines that have been added, modified, or deleted, and the configuration modes within which a changed configuration line exists.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to https://cfnng.cisco.com/. An account on Cisco.com is not required.

Prerequisites for Contextual Configuration Diff Utility

The format of the configuration files used for the Contextual Configuration Diff Utility feature must comply with standard Cisco configuration file indentation rules as follows:

  • Start all commands on a new line with no indentation, unless the command is within a configuration submode.

  • Indent commands within a first-level configuration submode one space.

  • Indent commands within a second-level configuration submode two spaces.

  • Indent commands within subsequent submodes accordingly.

The device must have a contiguous block of memory larger than the combined size of the two configuration files being compared.

Restrictions for Contextual Configuration Diff Utility

If the device does not have a contiguous block of memory larger than the combined size of the two configuration files being compared, the diff operation fails.

Information About Contextual Configuration Diff Utility

Benefits of the Contextual Configuration Diff Utility

The Contextual Configuration Diff Utility feature provides the ability to perform a line-by-line comparison of any two configuration files (accessible through the Cisco File System [IFS]) and generate a list of the differences between them. The generated output includes information about the following items:

  • Configuration lines that have been added, modified, or deleted.

  • Configuration modes within which a changed configuration line exists.

  • Location changes of configuration lines that are order-sensitive. For example, the ip access-list and community-lists commands are order-sensitive commands dependent on where they are listed within a configuration file in relation to other commands of similar type.

Contextual Configuration Diff Utility Output Format

Diff Operation

The Contextual Configuration Diff Utility feature uses the filenames of two configuration files as input. A diff operation is performed on the specified files and a list of differences between the two files is generated as output by using the show archive config differences command. Interpreting the output is dependent on the order in which the two files are specified in the command. In this section, we assume that the filename of the file entered first is file1 and the filename of the file entered second is file2. Each entry in the generated output list is prefixed with a unique text symbol to indicate the type of difference found. The text symbols and their meanings are as follows:

  • A minus symbol (–) indicates that the configuration line exists in file1 but not in file2.

  • A plus symbol (+) indicates that the configuration line exists in file2 but not in file1.

  • An exclamation point (!) with descriptive comments identifies order-sensitive configuration lines whose location is different in file1 than in file2.

Incremental Diff Operation

Some applications require that the generated output of a diff operation contain configuration lines that are unmodified (in other words, without the minus and plus symbols). For these applications, an incremental diff operation can be performed by using the show archive config incremental-diffs command, which compares a specified configuration file to the running configuration file ().

When an incremental diff operation is performed, a list of the configuration lines that do not appear in the running configuration file (in other words, configuration lines that appear only in the specified file that is being compared to the running configuration file) is generated as output. An exclamation point (!) with descriptive comments identifies order-sensitive configuration lines whose location is different in the specified configuration file than in the running configuration file.

How to Use the Contextual Configuration Diff Utility

Performing a Line-by-Line File Comparison Using the Contextual Configuration Diff Utility

SUMMARY STEPS

  1. enable
  2. Enter one of the following:
    • show archive config differences [file1 [file2]]
    • show archive config incremental-diffs file
  3. exit

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

Enter one of the following:

  • show archive config differences [file1 [file2]]
  • show archive config incremental-diffs file

Example:


Device# show archive config differences running-config startup-config

Example:


Device# show archive config incremental-diffs nvram:startup-config

Performs a line-by-line comparison of any two configuration files (accessible through the Cisco IOS File System and generates a list of the differences between them.

or

Performs a line-by-line comparison of a specified configuration file to the running configuration file and generates a list of the configuration lines that do not appear in the running configuration file.

Step 3

exit

Example:


Device# exit

Exits to user EXEC mode.

Configuration Examples for the Contextual Configuration Diff Utility

Example: Diff Operation Performed on Running and Startup Configuration Files

In this example, a diff operation is performed on the running and startup configuration files. The table below shows the configuration files used for this example.

Table 1. Configuration Files Used for the Diff Operation Example

Running Configuration File

Startup Configuration File


no ip subnet-zero
ip cef
interface GigabitEthernet1/0/0
 ip address 10.7.7.7 255.0.0.0
 no ip route-cache
 no ip mroute-cache
 duplex half
no ip classless
snmp-server community public RO

ip subnet-zero
ip cef
ip name-server 10.4.4.4
voice dnis-map 1
dnis 111
interface GigabitEthernet1/0/0
 no ip address
 no ip route-cache
 no ip mroute-cache
 shutdown
 duplex half
ip default-gateway 10.5.5.5
ip classless
access-list 110 deny   ip any host 10.1.1.1
access-list 110 deny   ip any host 10.1.1.2
access-list 110 deny   ip any host 10.1.1.3
snmp-server community private RW

The following is sample output from the show archive config differences command. This sample output displays the results of the diff operation performed on the configuration files.


Device# show archive config differences running-config startup-config

+ip subnet-zero
+ip name-server 10.4.4.4
+voice dnis-map 1 
 +dnis 111
interface GigabitEthernet1/0/0
 +no ip address
 +shutdown
+ip default-gateway 10.5.5.5
+ip classless
+access-list 110 deny ip any host 10.1.1.1
+access-list 110 deny ip any host 10.1.1.2
+access-list 110 deny ip any host 10.1.1.3
+snmp-server community private RW
-no ip subnet-zero
interface GigabitEthernet1/0/0
 -ip address 10.7.7.7 255.0.0.0
-no ip classless
-snmp-server community public RO

Example: Incremental Diff Operation Performed on Running and Startup Configuration Files

In this example, an incremental diff operation is performed on the startup and running configuration files. The table below shows the configuration files used for this example.

Table 2. Configuration Files Used for the Incremental Diff Operation Example

Startup Configuration File

Running Configuration File


ip subnet-zero
ip cef
ip name-server 10.4.4.4
voice dnis-map 1
 dnis 111
interface GigabitEthernet1/0/0
 no ip address
 no ip route-cache
 no ip mroute-cache
 shutdown
 duplex half
ip default-gateway 10.5.5.5
ip classless
access-list 110 deny   ip any host 10.1.1.1
access-list 110 deny   ip any host 10.1.1.2
access-list 110 deny   ip any host 10.1.1.3
snmp-server community private RW

no ip subnet-zero
ip cef
interface GigabitEthernet1/0/0
 ip address 10.7.7.7 255.0.0.0
 no ip route-cache
 no ip mroute-cache
 duplex half
no ip classless
snmp-server community public RO

The following is sample output from the show archive config incremental-diffs command. This sample output displays the results of the incremental diff operation performed on the configuration files.


Device# show archive config incremental-diffs startup-config

ip subnet-zero
ip name-server 10.4.4.4
voice dnis-map 1
 dnis 111
interface GigabitEthernet1/0/0
 no ip address
 shutdown
ip default-gateway 10.5.5.5
ip classless
 access-list 110 deny   ip any host 10.1.1.1
 access-list 110 deny   ip any host 10.1.1.2
 access-list 110 deny   ip any host 10.1.1.3
snmp-server community private RW

Additional References

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Command List, All Releases

Information about managing configuration files

“Managing Configuration Files” module in the Managing Configuration Files Configuration Guide

Commands for managing configuration files

Cisco IOS Configuration Fundamentals Command Reference

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for Contextual Configuration Diff Utility

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 3. Feature Information for Contextual Configuration Diff Utility

Feature Name

Releases

Feature Information

Contextual Configuration Diff Utility

12.2(25)S

12.2(27)SBC

12.2(33)SB

12.2(33)SRA

12.2(33)SXH

12.3(4)T

15.0(1)EX

Cisco IOS XE Release 2.1

The Contextual Configuration Diff Utility feature provides the ability to perform a line-by-line comparison of any two configuration files and generate a list of the differences between them. The generated output includes information about configuration lines that have been added, modified, or deleted, and the configuration modes within which a changed configuration line exists.

The following commands were introduced or modified: show archive config differences , show archive config incremental-diffs .