[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