I've been working with many Dell PowerConnect switch configurations over the years, and even though their configuration console is quite IOS like, it doesn't manage configuration statements the same way when you print them back using
show running-config. Configuration statements are often repeated for every interface when I've performed an
interface range ethernet gX-gY statement, whilst other range statements are printed back condensed, and interface statements repeated. Examples below.
Is there a tool which can emulate a Dell (or really, IOS-like-generic) network switch config engine and print me back a nicely readable /
diff-able version of the config? This would be handy alongside RANCID, although I'd keep the live config in addition to the consolidated config.
If not, I might just write one.
For example, on a switch where I've run:
interface range ethernet g1-2 lldp notifications enable lldp med network-policy add 1 interface range ethernet g1-4 switchport mode access interface range ethernet g1-2 switchport access vlan 2 interface ethernet g3 switchport access vlan 3 interface ethernet g4 switchport access vlan 3
When I run
show running-config, it will keep some statements as entered and others will be broken out, and some interface statements repeated, like:
interface range ethernet g1-4 switchport mode access interface ethernet g1 lldp notifications enable interface ethernet g2 lldp notifications enable interface ethernet g1 lldp med network-policy add 1 interface ethernet g2 lldp med network-policy add 1 interface range ethernet g1-2 switchport access vlan 2 interface ethernet g3 switchport access vlan 3 interface ethernet g4 switchport access vlan 3
Clearly Dell's switches parse out some config entries and keep others as entered, and do not optimize the internal representation of a switch config. Over years, these get fragmented, and while they don't harm operational performance, they make it hard to read or
diff. On a 48 port switch with a dozen vlans and several lldp statements on all ports, the whole switch config is quite a mess.