A perl script to convert Cisco IOS/Nexus/ASA configurations to HTML for easier comprehension

Larry Sheldon larrysheldon at cox.net
Fri Oct 7 00:42:34 UTC 2016

On 10/6/2016 15:26, Jesse McGraw wrote:
>     (This is me scratching an itch of my own and hoping that sharing it
> might be useful to others on this list.  Apologies if it isn't)
>   When I'm trying to comprehend a new or complicated Cisco router,
> switch or firewall configuration an old pet-peeve of mine is how
> needlessly difficult it is to follow deeply nested logic in route-maps,
> ACLs, QoS policy-maps etc etc

A dim, weak voice from the past.  Has advantages of the plan proposed here.
> To make this a bit simpler I’ve been working on a perl script to convert
> these text-based configuration files into HTML with links between the
> different elements (e.g. To an access-list from the interface where it’s
> applied, from policy-maps to class-maps etc), hopefully making it easier
> to to follow the chain of logic via clicking links and using the forward
> and back buttons in your browser to go back and forth between command
> and referenced list.

We used to (using a HB lead in a draftsman' lead holder and a stack for 
Forms SN 457* (Blank Spread Sheet, 11 x 17) sorted all of the requests, 
demands and other requirements into logical packages.

Then, using the blank back side of the spread sheet, we drew "flow 
diagrams depicting how we would code the requirements.  If a section got 
a little complicated and tedious, we'd put a symbol on the diagram, a 
title that made sense and a page number.

On a new sheet, we wrote that title and that page number and drew the 
flow diagram for that messy bit of business.

Then we would "desk check" the flow diagrams and in the process, note on 
the requirements sheet (s) the diagram number (and entry point if there 
was more than one) where the requirement was satisfied.

Then we would start with a new sheet working from the flow diagrams, 
write the code for the machine (noting on the flow diagram the page and 
line number in the code where the operation on the flow diagram occurred.

There are several advantages to this approach--hard to leave important 
stuff out, hard to include code that is never exercised, hard to make 
changes to the code because you don't know how to make HTML depict it 

No need to lecture me on the folly of the old ways--it is why I got 
fired for being too old.

"Everybody is a genius.  But if you judge a fish by
its ability to climb a tree, it will live its whole
life believing that it is stupid."

--Albert Einstein

 From Larry's Cox account.

More information about the NANOG mailing list