[j-nsp] OP script to show descriptions

Phil Shafer phil at juniper.net
Sat Jan 14 10:05:08 EST 2012


tim tiriche writes:
>Would anyone have an op script that when executed shows the
>description of the interface of 'show isis adjancency' or 'show ospf
>neighbor'

I don't run ISIS in my test lab, but here's a a script I whipped
up for you that handles OSPF:

user at cli> op test
Neighbor         Interface            State    Description
10.5.10.2        fe-0/0/1.0           Full     Link to SJC (10.5.10.2)
10.5.13.2        fe-0/0/2.0           Full     Link to LAX (10.5.13.2)
10.5.12.2        fe-0/3/1.0           Full     Link to AUS (10.5.12.2)

IIRC there's a sample script on junos.juniper.net that does "show
interfaces" with "show interfaces descriptions" merged in, which
but I did this one from scratch since it was simple enough.

Thanks,
 Phil

-------------- next part --------------
version 1.0;

ns junos = "http://xml.juniper.net/junos/*/junos";
ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";

import "../import/junos.xsl";

var $fmt = "%-16s %-20s %-8s %s";

match / {
    <op-script-results> {
        <top> {
            var $conn = jcs:open();
            var $rpc = <get-interface-information> {
                <descriptions>;
            }
            var $interfaces = jcs:execute($conn, $rpc);
            var $ospf = jcs:execute($conn, "get-ospf-neighbor-information");

	    <output> jcs:printf($fmt, "Neighbor", "Interface",
				"State", "Description");

            for-each ($ospf/ospf-neighbor) {
                var $ifname = interface-name;
                var $desc = {
                    var $xdesc = $interfaces/*[name == $ifname]/description;
                    if ($xdesc) {
                        expr $xdesc;
                    } else {
                        var $ifd = substring-before($ifname, ".");
                        expr $interfaces/*[name == $ifd]/description;
                    }
                }

                <output> jcs:printf($fmt, neighbor-address, $ifname,
                                    ospf-neighbor-state, $desc);
            }
        }
    }
}


More information about the juniper-nsp mailing list