Collect ARP entries from Cisco ACE load balancers. ACEs have multiple virtual contexts with individual ARP tables. Contexts are enumerated with show context, afterwards the commands changeto CONTEXTNAME and show arp must be executed for every context.

The IOS shell does not permit to combine multiple commands in a single line, and Net::OpenSSH uses individual connections for individual commands, so we need to use Expect to execute the changeto and show commands in the same context.


arpnip($host, $ssh)

Retrieve ARP entries from device. $host is the hostname or IP address of the device. $ssh is a Net::OpenSSH connection to the device.

Returns a list of hashrefs in the format { mac => MACADDR, ip => IPADDR }.