Skip to content

Instantly share code, notes, and snippets.

@nemith
Last active December 17, 2015 10:19
Show Gist options
  • Select an option

  • Save nemith/5594032 to your computer and use it in GitHub Desktop.

Select an option

Save nemith/5594032 to your computer and use it in GitHub Desktop.
homestar:op bbennett$ juise -d @172.16.1.1 arpmac.slax
sdb: The SLAX Debugger (version 0.14.8)
Type 'help' for help
(sdb) break 28
Breakpoint 1 at file arpmac.slax, line 28
(sdb) run
Reached breakpoint 1, at arpmac.slax:28
arpmac.slax:28: expr jcs:close($conn);
(sdb) print $conn;
:1: unexpected input: semi-colon (';')
error: : 1 error detected during parsing (1)
XPath error : Invalid expression
$conn;
^
(sdb) print $mac-table
[node-set] (1)
<ethernet-switching-table-information xmlns:junos="http://xml.juniper.net/junos/*/junos" junos:style="brief">
<ethernet-switching-table junos:style="brief">
<mac-table-count>55</mac-table-count>
<mac-table-learned>43</mac-table-learned>
<mac-table-persistent>0</mac-table-persistent>
<mac-table-entry junos:style="brief">
<mac-vlan>DMZ</mac-vlan>
<mac-address>*</mac-address>
<mac-type>Flood</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>All-members</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>DMZ</mac-vlan>
<mac-address>00:50:56:52:e4:28</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>DMZ</mac-vlan>
<mac-address>00:50:56:52:e4:29</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>DMZ</mac-vlan>
<mac-address>00:50:56:5b:53:7c</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>DMZ</mac-vlan>
<mac-address>00:50:56:5b:53:7d</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>DMZ</mac-vlan>
<mac-address>78:19:f7:aa:db:88</mac-address>
<mac-type>Static</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>Router</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>GUEST</mac-vlan>
<mac-address>*</mac-address>
<mac-type>Flood</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>All-members</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>GUEST</mac-vlan>
<mac-address>78:19:f7:aa:db:88</mac-address>
<mac-type>Static</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>Router</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>*</mac-address>
<mac-type>Flood</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>All-members</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:0c:29:0e:16:50</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:0c:29:e3:0b:21</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:11:32:18:ee:35</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:24:6c:cd:57:48</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>fe-0/0/6.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:25:90:68:2e:9a</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:25:90:9b:53:7c</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:50:56:52:e4:28</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:50:56:52:e4:29</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:50:56:5b:53:7c</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:50:56:5b:53:7d</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:50:56:bc:0e:4f</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:50:56:bc:a4:e3</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>00:50:56:bc:cc:22</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>18:b4:30:03:c4:d7</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>28:c0:da:e1:f9:80</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>64:87:88:a5:cb:c1</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>74:f0:6d:32:56:c1</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>78:19:f7:aa:db:88</mac-address>
<mac-type>Static</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>Router</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>90:2b:34:31:2b:46</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>9c:8e:99:8a:97:6a</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>a8:16:b2:9c:7e:7d</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>b8:3e:59:15:9a:64</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>cc:6d:a0:39:ca:1c</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>e0:91:f5:9c:7e:3e</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>HOME-TRUST</mac-vlan>
<mac-address>e8:10:2e:00:0d:5a</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-EDGE</mac-vlan>
<mac-address>*</mac-address>
<mac-type>Flood</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>All-members</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-EDGE</mac-vlan>
<mac-address>00:50:56:52:e4:28</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-EDGE</mac-vlan>
<mac-address>00:50:56:52:e4:29</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-EDGE</mac-vlan>
<mac-address>00:50:56:5b:53:7c</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-EDGE</mac-vlan>
<mac-address>00:50:56:5b:53:7d</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-EDGE</mac-vlan>
<mac-address>00:50:56:bc:2b:da</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-EDGE</mac-vlan>
<mac-address>78:19:f7:aa:db:88</mac-address>
<mac-type>Static</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>Router</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-RACK-MGMT</mac-vlan>
<mac-address>*</mac-address>
<mac-type>Flood</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>All-members</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-RACK-MGMT</mac-vlan>
<mac-address>00:80:7d:90:3b:1a</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>fe-0/0/4.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-RACK-MGMT</mac-vlan>
<mac-address>78:19:f7:aa:db:88</mac-address>
<mac-type>Static</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>Router</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>default</mac-vlan>
<mac-address>*</mac-address>
<mac-type>Flood</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>All-members</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>default</mac-vlan>
<mac-address>64:87:88:a5:cb:ce</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>*</mac-address>
<mac-type>Flood</mac-type>
<mac-age>-</mac-age>
<mac-interfaces-list>
<mac-interfaces>All-members</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>00:50:56:52:e4:28</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>00:50:56:52:e4:29</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>00:50:56:5b:53:7c</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>00:50:56:5b:53:7d</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>00:50:56:bc:5a:c6</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>00:50:56:bc:5f:4b</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>00:50:56:bc:a2:2f</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-LAN</mac-vlan>
<mac-address>00:50:56:bc:f4:7a</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
</ethernet-switching-table>
</ethernet-switching-table-information>
(sdb) print $conn
[node-set] (1)
<cookie>
<server>172.16.1.1</server>
<method>junoscript</method>
</cookie>
(sdb) print $arp-table-rpc
[rtf] (1)
<get-arp-table-information>
<no-resolve/>
</get-arp-table-information>
(sdb) next
arpmac.slax:31: var $format = "%-18s %-13s %-10s";
(sdb) next
arpmac.slax:33: <output> jcs:printf($format, "Mac", "IP", "Port");
(sdb) next
arpmac.slax:34: for-each($arp-table/arp-table-entry) {
(sdb) next
arpmac.slax:35: var $mac = ./mac-address;
(sdb) print $mac
runtime error: file arpmac.slax line 34 element for-each
Variable 'mac' has not been declared.
xmlXPathCompiledEval: evaluation failed
(sdb) next
arpmac.slax:36: var $ip = ./ip-address;
(sdb) print $mac
[node-set] (1)
<mac-address>00:50:56:bc:2b:da</mac-address>
(sdb) next
arpmac.slax:37: var $intf = $mac-table//mac-table-entry[mac-address == $mac]//mac-interfaces;
(sdb) print $ip
[node-set] (1)
<ip-address>10.0.0.1</ip-address>
(sdb) next
arpmac.slax:38: <output> jcs:printf($format, $mac, $ip, $intf);
(sdb) print $intf
[node-set] (1)
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
(sdb) print $mac-table//mac-table-entry[mac-address == $mac]
[node-set] (1)
<mac-table-entry junos:style="brief">
<mac-vlan>LAB-EDGE</mac-vlan>
<mac-address>00:50:56:bc:2b:da</mac-address>
<mac-type>Learn</mac-type>
<mac-age junos:seconds="0">0</mac-age>
<mac-interfaces-list>
<mac-interfaces>ge-0/0/0.0</mac-interfaces>
</mac-interfaces-list>
</mac-table-entry>
(sdb) cont
Script exited normally.
(sdb) quit
/* This Goes into Every script */
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";
/* main op script code goes here */
match / {
<op-script-results> {
/* get arp table */
var $arp-table-rpc = <get-arp-table-information> {
<no-resolve>;
}
var $mac-table-rpc = <get-ethernet-switching-table-information>;
expr jcs:progress("Opening RPC connection.");
var $conn = jcs:open();
expr jcs:progress("Getting 'show arp' output");
var $arp-table = jcs:execute($conn, $arp-table-rpc);
expr jcs:progress("Getting 'show ethernet-switching table' ouput");
var $mac-table = jcs:execute($conn, $mac-table-rpc);
expr jcs:progress("Closing RPC connection.");
expr jcs:close($conn);
/* format value */
var $format = "%-18s %-13s %-10s";
<output> jcs:printf($format, "Mac", "IP", "Port");
for-each($arp-table/arp-table-entry) {
var $mac = ./mac-address;
var $ip = ./ip-address;
var $intf = $mac-table//mac-table-entry[mac-address == $mac]//mac-interfaces;
<output> jcs:printf($format, $mac, $ip, $intf);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment