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

Lee ler762 at gmail.com
Wed Oct 12 23:59:54 UTC 2016


On 10/12/16, Jason Hellenthal <jhellenthal at dataix.net> wrote:
> Give these a shot. https://github.com/jlmcgraw/networkUtilities
>
> I know J could use a little feedback on those as well but all in all they
> are pretty solid.

Where does one get Modern/Perl.pm ?

Can't locate Modern/Perl.pm in @INC (you may need to install the
Modern::Perl module) (@INC contains: /tmp/local/lib/perl5
/usr/lib/perl5/site_perl/5.22/i686-cygwin-threads-64int
/usr/lib/perl5/site_perl/5.22
/usr/lib/perl5/vendor_perl/5.22/i686-cygwin-threads-64int
/usr/lib/perl5/vendor_perl/5.22
/usr/lib/perl5/5.22/i686-cygwin-threads-64int /usr/lib/perl5/5.22 .)
at /tmp/iosToHtml.pl line 87.
BEGIN failed--compilation aborted at /tmp/iosToHtml.pl line 87.

Lee



>
>> On Oct 11, 2016, at 08:48, Lee <ler762 at gmail.com> wrote:
>>
>> On 10/10/16, Jay Hennigan <jay at west.net> wrote:
>>> On 10/6/16 1:26 PM, Jesse McGraw wrote:
>>>> Nanog,
>>>>
>>>>    (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
>>>>
>>>> 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.
>>>
>>> Way cool. Now to hook it into RANCID....
>>
>> It looks like what I did in 2.3.8 should still work - control_rancid
>> puts the diff output into $TMP.diff so add this bit:
>> grep "^Index: " $TMP.diff | awk '/^Index: configs/{
>> if ( ! got1 ) { printf("/usr/local/bin/myscript.sh "); got1=1; }
>> printf("%s ", $2)
>> }
>> END{ printf("\n") }
>> ' >$TMP.doit
>> /bin/sh $TMP.doit >$TMP.out
>> if [ -s $TMP.out ] ; then
>>   .. send mail / whatever
>> rm $TMP.doit $TMP.out
>> fi
>>
>> Regards,
>> Lee
>
>
> --
>  Jason Hellenthal
>  JJH48-ARIN


More information about the NANOG mailing list