nanog mailing list archives

A simple perl script to convert Cisco IOS configuration to HTML with internal links for easier comprehension


From: Jesse McGraw <jlmcgraw () gmail com>
Date: Thu, 06 Aug 2015 08:59:24 -0400

All,

(This is me scratching an itch of my own and hoping that it might be useful to others on this list. Apologies if it isn't)

When trying to comprehend a new or complicated Cisco router configuration an old pet-peeve of mine is how needlessly difficult it is to search for a list referenced by a command, figure out what it does, then find my way back to the original command (by which time I’ve forgotten the details of the list) and figure out what it's doing with that list.

So I’ve been working on a small perl script to add links within IOS configuration files, e.g. link to an access-list from the interface where it’s applied, making it easier to to follow the chain of logic with stuff like route maps or nested service policies via clicking links and using the forward and back buttons in your browser to go back and forth between command and referenced list.

I know there is a lot of stuff I could add in to this (e.g. more VRF-related commands, PIX/ASA, Juniper etc). Let me know if you think of anything new or notice something I’ve done wrong , there's plenty of room for improvement and expansion to other configuration formats.



Notes:
Anything referenced (or potentially referenced) by something else is in bold. It makes it very easy to see where ACLs etc. start and end

There's also an option in there to reformat some numbers that are hard to read (e.g. traffic shaping criteria) into more human-readable ones. Pure fluff.

Surely this has been done before but I couldn't find anything in a few brief moments of searching so here we are.



Files are here: https://github.com/jlmcgraw/networkUtilities

At the very least you'll need iosToHtml.pl, pointers.pl, pointees.pl, and human_readable.pl and several CPAN modules (see setup.sh for easy ways to install them under Debian-derived Linux. I haven't tested this at all under Windows or OS X)

-Jesse


Current thread: