Configuration Partitioning

The Configuration Partitioning feature provides modularization (“partitioning”) of the running configuration state to provide granular access to the running configuration in Cisco IOS software.

This feature is enabled by default in Cisco IOS software images that include this feature.

The configuration state of a device is retrieved dynamically whenever a user issues the showrunning-config command. When the Configuration Partitioning feature is enabled, the system groups the configuration state of the device into parts (called “partitions”) so that only the configuration state the user wishes to review is retrieved when generating a displayed list of commands in the running configuration. This feature improves performance for high-end systems with complex configurations because only a part of the running configuration state is processed when generating the running configuration command list, as opposed to the existing method of processing the entire system configuration state.

Default configuration partitions are provided by the introduction of this feature; other Cisco IOS software features may define their own command partitions in later releases.

Information About Configuration Partitioning

System Running Configurations

Managing the configuration of any Cisco IOS software-based device involves managing the startup configuration (startup-config), which is a file stored in nonvolatile memory, and the running configuration (running-config), which is the set of all configuration options currently in effect on the system. Typically, the startup configuration file is loaded when the system boots, and changes to the system’s running configuration, applied using the command-line interface (CLI), are saved by copying the running configuration to a configuration file (either locally or on the network), which can then be used to configure the device at startup, or used to configure other devices.

Retrieving the Running Configuration for Display or Copy Operations

In the Cisco IOS software configuration model, the configuration state is maintained in a distributed manner, with each component storing its own configuration state. To retrieve global configuration information, the software must poll every component to collect the distributed information. This configuration state retrieval operation is performed by a process known as nonvolatile generation (NVGEN), and it is invoked by commands such as showrunning-config , which is used to display the current configuration state, and copysystem:running-configuration , which is used to save the running configuration by copying it to a file. When invoked, the NVGEN process queries each system component, each interface instance, and all other configured component objects in a standard sequence. A running configuration file is constructed as NVGEN traverses the system performing these queries, and it is this “virtual file” that is displayed or copied.

Benefits of Partitioning the Running Configuration

The Configuration Partitioning feature is the latest in a series of Configuration Generation Performance Enhancement Features for Cisco IOS software. (See the “Related Documents” section for related features.) This feature improves the system’s response time by providing a method for querying only the system component you wish to review when issuing the showrunning-config command.

When the Configuration Partitioning feature is enabled, the system groups the configuration state of the device into parts (called “partitions”) for the purpose of generating the virtual running configuration file (the list of configuration commands). A new command, showrunning-configpartition , allows you to display only the part of the running configuration that you want to examine, rather than having to display the entire running configuration at once, or displaying only lines that match a certain string.

The key benefit of this feature is that it increases system performance by allowing the system to run the NVGEN process for only the collection of system components (such as specific interfaces) that you need to display. This is in contrast to other existing extensions to the showrunning-config command, which only filter the generated list after all system components have been processed.

The selective processing of the system’s configuration state for the purpose of generating a partial running configuration is called “configuration partitioning.”

More granular access to configuration information offers important performance benefits for high-end routing platforms with very large configuration files, while also enhancing configuration management by allowing advanced configuration features to be implemented at a more granular level. Advanced configuration options include Cisco IOS software support for provisioning of customer services, Config Rollback, Config Locking, and configuration access control.

How to Use the Configuration Partitioning Feature

Displaying Configuration Partitions

The main method of taking advantage of this feature is by using the showrunning-configpartition part command in priveledge exec mode, which is a specialized extension to the showrunning-config command.


Note


The partition part command extension is not available for the more:systemrunning-config command.


Because this feature offers improved performance for existing commands, this feature is enabled by default in Cisco IOS software images that support this feature. To quickly determine if this feature is supported and running on your system, issue the showrunning-configpartition? command in privileged EXEC mode.

SUMMARY STEPS

  1. show running-config partition ?
  2. show running-config partition part

DETAILED STEPS


Step 1

show running-config partition ?

Issuing this command will show you the list of running configuration parts available for display on your system.

If the Configuration Partitioning feature is supported on your system and is enabled, you will see the string “ config partition is TRUE ” as the first line of help output.

If you receive an error message when entering the command syntax shown here, this feature is not supported on your system. See the command documentation for the showrunning-config command for existing extensions of that command in other releases that allow you to show only part of the running configuration.

Note

 

The list of available configuration parts may vary by software image and is dependent on what features are currently configured.

Example:


Router# show running-config partition ?
 config partition is TRUE 
  access-list       All access-list configurations
  boot              All boot configurations
  class-map         All class-map configurations
  common            All remaining unregistered configurations
  global-cdp        All global cdp configurations
  interface         All Interface specific Configurations
  ip-as-path        All IP as-path configurations
  ip-community      All IP community list configurations
  ip-domain-list    All ip domain list configurations
  ip-prefix-list    All ip prefix-list configurations
  ip-static-routes  All IP static configurations
  line              All line mode configurations
  policy-map        All policy-map configurations
  route-map         All route-map configurations
  router            All routing configurations
  snmp              All SNMP configurations
  tacacs            All TACACS configurations

Choose the part of the running configuration you want to display, and use the associated keyword as the part argument in Step 2.

Step 2

show running-config partition part

As an example, to have the system perform the NVGEN process on only the components associated with the access-list parts of the running configuration state, and display only the access-list related configurations, you would enter the showrunning-configpartitionaccess-list command:

Example:


Router# show running-config partition access-list
        Building configuration...
Current configuration : 127 bytes
!
Configuration of Partition access-list 
!
!
!
access-list 90 permit 0.0.0.0 1.2.3.5
access-list 100 permit 10 any any
!
end

Note

 

This command also allows you to run the NVGEN process and display the resulting output for specific interfaces. This is a key capability of this feature, as it was designed for systems with numerous active interfaces.

In the following example, the main configuration partition is the interface configuration, and the specific part of the configuration to be generated is the configuration for Fast Ethernet interface 0/0.

Example:


Router# show running-config partition interface fastethernet0/0
Building configuration... 
Current configuration : 213 bytes
!
Configuration of Partition interface FastEthernet0/0
!
!
interface FastEthernet0/0
 ip address 10.4.2.39 255.255.255.0
 no ip route-cache cef
 no ip route-cache
 duplex half
 ipv6 enable
 no cdp enable
!
!
end

Disabling the Configuration Partitioning Feature

Because this feature offers improved performance for existing commands, this feature is enabled by default for Cisco IOS software images that support this feature. However, you may want to disable this feature if you determine that it is not needed, as this feature does use a small amount of system resources (memory and CPU utilization). To disable configuration partitioning, perform the following task, which assumes you are starting in user EXEC mode.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. no parser config partition

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

no parser config partition

Example:


Router(config)# no parser config partition 

Example:


Disabling config partitioning

Example:


Router(config)# 

Disables the configuration partitioning feature.

What to do next

What to Do Next

To reenable the feature after it has been disabled, use the parserconfigpartition command in global configuration mode.


Note


As this feature is enabled by default, only the no form will appear in the running configuration file, or will be written to the startup configuration file when you issue the copyrunning-configstartup-config command.


Configuration Examples for Configuration Partitioning

This section provides examples of displaying configuration partitions with the show running-config partition command:

Displaying Configuration Partitions Example

In this example, the showrunning-configpartition command is used with related commands in a series of steps an administrator might take to check the status of a specific interface and the current configuration of some of the system’s other components. Comparable filtered output from the standard showrunning-config command (for example, showrunning-config|includeaccess-list ) is included for demonstration purposes.


Note


The part argument can consist of multiple partition name keywords, as in showrunning-configpartroutereigrp1 .



gt3-7200-3# show running-config partition ?
  access-list       All access-list configurations
  boot              All boot configurations
  class-map         All class-map configurations
  global-cdp        All global cdp configurations
  interface         All Interface specific Configurations
  ip-as-path        All IP as-path configurations
  ip-community      All IP community list configurations
  ip-domain-list    All ip domain list configurations
  ip-static-routes  All IP static configurations
  line              All line mode configurations
  policy-map        All policy-map configurations
  route-map         All route-map configurations
  router            All routing configurations
  service           All service configurations
  snmp              All SNMP configurations
gt3-7200-3# show running-config partition access-list
 
Building configuration...
Current configuration : 87 bytes
!
!
!
!
access-list 90 permit 0.0.0.0 1.2.3.5
access-list 100 permit 10 any any
!
end
gt3-7200-3# show running-config | include access-list
 
access-list 90 permit 0.0.0.0 1.2.3.5
access-list 100 permit 10 any any
gt3-7200-3#
gt3-7200-3# show running-config partition boot
 
Building configuration...
Current configuration : 51 bytes
!
boot network tftp:/service_config.txt
!
!
!
end
gt3-7200-3# show running-config partition class-map
 
Building configuration...
Current configuration : 78 bytes
!
!
!
class-map match-all abc
  match any 
class-map match-all xyz
!
!
!
end
gt3-7200-3# show running-config | begin class-map
 
class-map match-all abc
  match any 
class-map match-all xyz
!
!
gt3-7200-3# show running-config partition global-cdp
 
Building configuration...
Current configuration : 43 bytes
!
!
!
cdp timer 20
cdp holdtime 100
!
end
gt3-7200-3# show running-config | include
 
global-cdp
 
cdp timer 20
cdp holdtime 100
gt3-7200-3#
gt3-7200-3# show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES NVRAM  administratively down down    
Ethernet2/0                10.4.2.32       YES NVRAM  up                    up      
Ethernet2/1                unassigned      YES NVRAM  administratively down down    
Ethernet2/2                unassigned      YES NVRAM  administratively down down    
Ethernet2/3                unassigned      YES NVRAM  administratively down down    
Serial3/0                  unassigned      YES NVRAM  administratively down down    
Serial3/1                  unassigned      YES NVRAM  administratively down down    
Serial3/2                  unassigned      YES NVRAM  administratively down down    
Serial3/3                  unassigned      YES NVRAM  administratively down down    
Loopback0                  unassigned      YES NVRAM  administratively down down    
Loopback234                unassigned      YES NVRAM  administratively down down    
gt3-7200-3# show running-config partition interface fastethernet0/0
Building configuration...
Current configuration : 98 bytes
!
!
!
interface FastEthernet0/0
 no ip address
 no ip route-cache
 shutdown
 duplex half
!
!
end
gt3-7200-3# show running-config partition interface ethernet2/0
   
Building configuration...
Current configuration : 122 bytes
!
!
!
interface Ethernet2/0
 ip address 10.4.2.32 255.255.255.0
 no ip proxy-arp
 no ip route-cache
 duplex half
!
!
end
gt3-7200-3# show running-config partition interface ethernet2/1
Building configuration...
Current configuration : 94 bytes
!
!
!
interface Ethernet2/1
 no ip address
 no ip route-cache
 shutdown
 duplex half
!
!
end
gt3-7200-3# show running-config partition interface ethernet2/2
 
Building configuration...
Current configuration : 94 bytes
!
!
!
interface Ethernet2/2
 no ip address
 no ip route-cache
 shutdown
 duplex half
!
!
end
gt3-7200-3# show running-config partition interface ethernet2/3
Building configuration...
Current configuration : 94 bytes
!
!
!
interface Ethernet2/3
 no ip address
 no ip route-cache
 shutdown
 duplex half
!
!
end
gt3-7200-3# show running-config partition interface serial3/0
Building configuration...
Current configuration : 103 bytes
!
!
!
interface Serial3/0
 no ip address
 no ip route-cache
 shutdown
 serial restart-delay 0
!
!
end
gt3-7200-3# show running-config partition interface serial3/1
Building configuration...
Current configuration : 103 bytes
!
!
!
interface Serial3/1
 no ip address
 no ip route-cache
 shutdown
 serial restart-delay 0
!
!
end
gt3-7200-3# show running-config partition interface serial3/2
Building configuration...
Current configuration : 103 bytes
!
!
!
interface Serial3/2
 no ip address
 no ip route-cache
 shutdown
 serial restart-delay 0
!
!
end
gt3-7200-3# show running-config partition interface serial3/3
Building configuration...
Current configuration : 103 bytes
!
!
!
interface Serial3/3
 no ip address
 no ip route-cache
 shutdown
 serial restart-delay 0
!
!
end
gt3-7200-3# show running-config partition interface loopback0
Building configuration...
Current configuration : 79 bytes
!
!
!
interface Loopback0
 no ip address
 no ip route-cache
 shutdown
!
!
end
gt3-7200-3# show running-config partition interface loopback1
                                                      ^
% Invalid input detected at '^' marker.
gt3-7200-3# show running-config partition interface loopback234
Building configuration...
Current configuration : 81 bytes
!
!
!
interface Loopback234
 no ip address
 no ip route-cache
 shutdown
!
!
end
gt3-7200-3# configure terminal
 
Enter configuration commands, one per line.  End with CNTL/Z.
gt3-7200-3(config)# interface ethernet 2/0.1
gt3-7200-3(config-subif)# exit
gt3-7200-3(config)# exit
gt3-7200-3#
00:13:05: %SYS-5-CONFIG_I: Configured from console by console
gt3-7200-3# show running-config partition interface ethernet2/0.1
Building configuration...
Current configuration : 58 bytes
!
!
!
interface Ethernet2/0.1
 no ip route-cache
!
!
end
gt3-7200-3# show run partition ip?
ip-as-path  ip-community  ip-domain-list  ip-static-routes  
gt3-7200-3#sh run part ip-as
gt3-7200-3#sh run part ip-as-path
 
Building configuration...
Current configuration : 125 bytes
!
!
!
ip as-path access-list 2 permit $ABC
ip as-path access-list 2 permit $xyz*
ip as-path access-list 2 permit qwe*
!
end
gt3-7200-3# show running-config partition ip-community
 
Building configuration...
Current configuration : 92 bytes
!
!
!
ip community-list standard asd permit
ip community-list expanded qwe deny uio*
!
end
gt3-7200-3# show running-config | include ip community
ip community-list standard asd permit
ip community-list expanded qwe deny uio*
gt3-7200-3#
gt3-7200-3# show running-config partition ip-domain-list
 
Building configuration...
Current configuration : 70 bytes
!
ip domain-list iop
ip domain-list tyu
ip domain-list jkl
!
!
!
end
gt3-7200-3# show running-config partition
 ip-static-routes
 
Building configuration...
Current configuration : 98 bytes
!
!
!
ip route 0.0.0.0 0.0.0.0 Ethernet2/0
ip route 171.69.1.129 255.255.255.255 10.4.29.1
!
end
gt3-7200-3# show running-config partition line
Building configuration...
Current configuration : 489 bytes
!
!
!
!
line con 0
 exec-timeout 0 0
 transport output lat pad v120 mop telnet rlogin udptn nasi
 stopbits 1
line aux 0
 transport output lat pad v120 mop telnet rlogin udptn nasi
 stopbits 1
line vty 0
 password lab
 login
 transport input lat pad v120 mop telnet rlogin udptn nasi
 transport output lat pad v120 mop telnet rlogin udptn nasi
line vty 1 4
 login
 transport input lat pad v120 mop telnet rlogin udptn nasi
 transport output lat pad v120 mop telnet rlogin udptn nasi
!
end       
gt3-7200-3# show running-config partition policy-map
Building configuration...
Current configuration : 162 bytes
!
!
!
policy-map qwer
 description policy-map qwer.
  class xyz
    shape peak 8000 32 32
policy-map p1
policy-map sdf
  class abc
   set precedence 4
!
!
!
end
gt3-7200-3# show running-config partition route-map
Building configuration...
Current configuration : 65 bytes
!
!
!
route-map iop permit 10
!
route-map rty permit 10
!
!
end
gt3-7200-3#sh run part router bgp 1
Building configuration...
Current configuration : 111 bytes
!
!
!
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 distance bgp 2 2 2
 no auto-summary
!
!
end
gt3-7200-3#sh run part router egp ?
<0-65535>  Remote autonomous system number
gt3-7200-3#sh run part router egp 1
Building configuration...
Current configuration : 46 bytes
!
!
!
router egp 1
 timers egp 20 20
!
!
end
gt3-7200-3# show running-config partition router ?
  bgp       Border Gateway Protocol (BGP)
  egp       Exterior Gateway Protocol (EGP)
  eigrp     Enhanced Interior Gateway Routing Protocol (EIGRP)
  isis      ISO IS-IS
  iso-igrp  IGRP for OSI networks
  mobile    Mobile routes
  odr       On Demand stub Routes
  ospf      Open Shortest Path First (OSPF)
  rip       Routing Information Protocol (RIP)
gt3-7200-3# show running-config partition router eigrp ?
<1-65535>  Autonomous system number
gt3-7200-3# show running-config partition router eigrp 1
Building configuration...
Current configuration : 13 bytes
!
!
!
!
end
gt3-7200-3#
gt3-7200-3# sh run part router eigrp 2
 
Building configuration...
Current configuration : 57 bytes
!
!
!
router eigrp 2
 variance 10
 auto-summary
!
!
end
gt3-7200-3# show running-config partition router ?
  bgp       Border Gateway Protocol (BGP)
  egp       Exterior Gateway Protocol (EGP)
  eigrp     Enhanced Interior Gateway Routing Protocol (EIGRP)
  isis      ISO IS-IS
  iso-igrp  IGRP for OSI networks
  mobile    Mobile routes
  odr       On Demand stub Routes
  ospf      Open Shortest Path First (OSPF)
  rip       Routing Information Protocol (RIP)
gt3-7200-3# show running-config partition router isis ?
  WORD  ISO routing area tag
  |     Output modifiers
  <cr>
gt3-7200-3# show running-config partition router isis qwe
Building configuration...
Current configuration : 86 bytes
!
!
!
router isis qwe
 set-attached-bit route-map qwer
 use external-metrics
!
!
end
gt3-7200-3# show running-config partition router isis ?
  WORD  ISO routing area tag
  |     Output modifiers
  <cr>
gt3-7200-3# show running-config partition router iso
gt3-7200-3# show running-config partition router iso-igrp ?
  WORD  ISO routing area tag
  |     Output modifiers
  <cr>
gt3-7200-3# show running-config partition router iso-igrp
 
Building configuration...
Current configuration : 31 bytes
!
!
!
router iso-igrp
!
!
end
gt3-7200-3# show running-config | begin iso
router iso-igrp
!
router isis qwe
 set-attached-bit route-map qwer
 use external-metrics
!
router egp 1
 timers egp 20 20
!
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 distance bgp 2 2 2
 no auto-summary
!
          
gt3-7200-3# show running-config partition router ?
  bgp       Border Gateway Protocol (BGP)
  egp       Exterior Gateway Protocol (EGP)
  eigrp     Enhanced Interior Gateway Routing Protocol (EIGRP)
  isis      ISO IS-IS
  iso-igrp  IGRP for OSI networks
  mobile    Mobile routes
  odr       On Demand stub Routes
  ospf      Open Shortest Path First (OSPF)
  rip       Routing Information Protocol (RIP)
gt3-7200-3# show running-config partition router mobile ?
  |  Output modifiers
  <cr>
gt3-7200-3# show running-config partition router mobile
 
Building configuration...
Current configuration : 42 bytes
!
!
!
router mobile
 distance 20
!
!
end
gt3-7200-3# sh run | include router
 
router mobile
router odr
router eigrp 2
router ospf 4
router iso-igrp
router isis qwe
router egp 1
router bgp 1
gt3-7200-3# show running-config partition router ?
  bgp       Border Gateway Protocol (BGP)
  egp       Exterior Gateway Protocol (EGP)
  eigrp     Enhanced Interior Gateway Routing Protocol (EIGRP)
  isis      ISO IS-IS
  iso-igrp  IGRP for OSI networks
  mobile    Mobile routes
  odr       On Demand stub Routes
  ospf      Open Shortest Path First (OSPF)
  rip       Routing Information Protocol (RIP)
gt3-7200-3# show running-config partition router ospf ?
  <1-65535>  Process ID
gt3-7200-3# show running-config partition router ospf 4
Building configuration...
Current configuration : 64 bytes
!
!
!
router ospf 4
 log-adjacency-changes
 distance 4
!
!
end
gt3-7200-3# sh run part service
 
Building configuration...
Current configuration : 190 bytes
!
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
service internal
service udp-small-servers
service tcp-small-servers
!
!
!
end
gt3-7200-3# sh run part snmp
 
Building configuration...
Current configuration : 84 bytes
!
!
!
snmp-server community user101 RW
snmp mib target list qwe host 0.0.0.0
!
end

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 Configuration Partitioning

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 1. Feature Information for Configuration Partitioning

Feature Name

Releases

Feature Information

Configuration Partitioning

12.2(33)SRB 12.2(33)SB 12.2(33)SXI

The Configuration Partitioning feature provides modularization (“partitioning”) of the running configuration state to provide granular access to the running configuration in Cisco IOS software. This feature is enabled by default in Cisco IOS software images that include this feature.

In 12.2(33)SB, this feature was implemented on the Cisco 10000 series.

The following sections provide information about this feature:

  • Information About Configuration Partitioning

  • How to Use the Configuration Partitioning Feature