Contents

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 IOS XE Integrated File System [IFS]) and generate a list of the differences between them. The generated output includes information regarding 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 at the end of this module.

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.

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 IOS XE 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 router 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 IOS XE File System [IFS]) and generate a list of the differences between them. The generated output includes information regarding 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 Cisco IOS XE 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 ActionPurpose
    Step 1 enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2Enter 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

    Diff Operation Example

    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 FastEthernet1/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 FastEthernet1/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 differencescommand. This sample output displays the results of the diff operation performed on the configuration files in the table below.

    Router# show archive config differences system:running-config nvram:startup-config
    
    +ip subnet-zero
    +ip name-server 10.4.4.4
    +voice dnis-map 1 
     +dnis 111
    interface FastEthernet1/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 FastEthernet1/0
     -ip address 10.7.7.7 255.0.0.0
    -no ip classless
    -snmp-server community public RO

    Incremental Diff Operation Example

    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 FastEthernet1/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 FastEthernet1/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-diffscommand. This sample output displays the results of the incremental diff operation performed on the configuration files in the table below.

    Router# show archive config incremental-diffs startup-config
    
    ip subnet-zero
    ip name-server 10.4.4.4
    voice dnis-map 1 
     dnis 111
    interface FastEthernet1/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

    The following sections provide references related to the Configuration Partitioning feature.

    Related Documents

    Related Topic

    Document Title

    Running configuration performance enhancement--parserconfigcache for interfaces.

    Configuration Generation Performance Enhancement

    Provisioning of customer services, Config Rollback, Config Locking, and configuration access control

    Contextual Configuration Diff Utility

    Configuration management--Config change logging.

    Configuration Change Notification and Logging

    Configuration management --Quick-save for config change logging1.

    Configuration Logger Persistency

    Cisco IOS software configuration access control and config session locking (“Config Lock”).

    Exclusive Configuration Change Access and Access Session Locking

    1 The “Configuration Logger Persistency” feature allows saving just the commands entered since the last startup-config file was generated, rather than saving the entire startup configuration.

    Standards

    Standard

    Title

    No standards are associated with this feature.

    --

    MIBs

    MIB

    MIBs Link

    No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

    --

    RFCs

    RFC

    Title

    No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

    --

    Technical Assistance

    Description

    Link

    The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

    To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

    Access to most tools on the Cisco Support website requires a Cisco.com user ID and password..

    http:/​/​www.cisco.com/​techsupport

    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

    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 regarding configuration lines that have been added, modified, or deleted, and the configuration modes within which a changed configuration line exists.

    In Cisco IOS XE Release 2.1, this feature was introduced on Cisco ASR 1000 Series Routers.

    The following commands were modified by this feature: show archive config differences, show archive config incremental-diffs.


    Contextual Configuration Diff Utility

    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 IOS XE Integrated File System [IFS]) and generate a list of the differences between them. The generated output includes information regarding 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 at the end of this module.

    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.

    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 IOS XE 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 router 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 IOS XE File System [IFS]) and generate a list of the differences between them. The generated output includes information regarding 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 Cisco IOS XE 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 ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2Enter 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

      Diff Operation Example

      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 FastEthernet1/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 FastEthernet1/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 differencescommand. This sample output displays the results of the diff operation performed on the configuration files in the table below.

      Router# show archive config differences system:running-config nvram:startup-config
      
      +ip subnet-zero
      +ip name-server 10.4.4.4
      +voice dnis-map 1 
       +dnis 111
      interface FastEthernet1/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 FastEthernet1/0
       -ip address 10.7.7.7 255.0.0.0
      -no ip classless
      -snmp-server community public RO

      Incremental Diff Operation Example

      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 FastEthernet1/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 FastEthernet1/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-diffscommand. This sample output displays the results of the incremental diff operation performed on the configuration files in the table below.

      Router# show archive config incremental-diffs startup-config
      
      ip subnet-zero
      ip name-server 10.4.4.4
      voice dnis-map 1 
       dnis 111
      interface FastEthernet1/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

      The following sections provide references related to the Configuration Partitioning feature.

      Related Documents

      Related Topic

      Document Title

      Running configuration performance enhancement--parserconfigcache for interfaces.

      Configuration Generation Performance Enhancement

      Provisioning of customer services, Config Rollback, Config Locking, and configuration access control

      Contextual Configuration Diff Utility

      Configuration management--Config change logging.

      Configuration Change Notification and Logging

      Configuration management --Quick-save for config change logging1.

      Configuration Logger Persistency

      Cisco IOS software configuration access control and config session locking (“Config Lock”).

      Exclusive Configuration Change Access and Access Session Locking

      1 The “Configuration Logger Persistency” feature allows saving just the commands entered since the last startup-config file was generated, rather than saving the entire startup configuration.

      Standards

      Standard

      Title

      No standards are associated with this feature.

      --

      MIBs

      MIB

      MIBs Link

      No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

      --

      RFCs

      RFC

      Title

      No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

      --

      Technical Assistance

      Description

      Link

      The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

      To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

      Access to most tools on the Cisco Support website requires a Cisco.com user ID and password..

      http:/​/​www.cisco.com/​techsupport

      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

      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 regarding configuration lines that have been added, modified, or deleted, and the configuration modes within which a changed configuration line exists.

      In Cisco IOS XE Release 2.1, this feature was introduced on Cisco ASR 1000 Series Routers.

      The following commands were modified by this feature: show archive config differences, show archive config incremental-diffs.