With the current "old" implementation of the set protocols static arp we have two drawbacks:
- As this it's a tagNode, once an entry is changed and commit is called, the script which handles ARP entries is called as many times as there are ARP entries. In addition, the entries are added and removed as many times as there are static ARP entries configured.
- We can not configure "per interface" static ARP entries making it impossible to work with multiple VRF instances
VRF
[email protected]# set vrf name red table 1000 [email protected]# set interfaces ethernet eth0 address 172.18.201.10/24 [email protected]# set interfaces ethernet eth1 vrf red [email protected]# set interfaces ethernet eth1 address 172.18.201.10/24 [email protected]# commit [email protected]# run show int Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address S/L Description --------- ---------- --- ----------- eth0 172.18.201.10/24 u/u eth1 172.18.201.10/24 u/u lo 127.0.0.1/8 u/u ::1/128
Manually add per interface ARP entires
[email protected]# sudo arp -i eth0 -s 172.18.201.1 00:01:02:03:04:AA [email protected]# sudo arp -i eth1 -s 172.18.201.1 00:01:02:03:04:BB
[email protected]# arp Address HWtype HWaddress Flags Mask Iface 172.18.201.1 ether 00:01:02:03:04:aa CM eth0 172.18.201.1 ether 00:01:02:03:04:bb CM eth1
Migration
The interface for a static ARP entry should be enforced.
A migration script must be used to read the current static ARP entries and compare it to the current configured L3 interfaces on a system. If the ARP entry is within an interface, use this interface and re-write the config.