proxy arp on 8.0-current?
tamaru at myn.rcast.u-tokyo.ac.jp
Thu Apr 23 12:51:07 UTC 2009
I'm trying to setup an proxy arp on a dual homed host.
I noticed that I cannot set it up on 8.0-current the same way as I
could on 6.2; hence the question: have the setup procedure changed
recently (when the arp table was separated from the routing table,
maybe?)? My 8.0-current is from 200902 snapshot.
Here is a simple demonstration using two single-interfaced hosts:
host6.2# ifconfig em0 inet 192.168.0.1/24
host6.2# arp -s 192.168.0.11 auto pub
host6.2# arp -an | grep permanent
? (192.168.0.1) at 00:16:d3:xx:xx:xx on em0 permanent [ethernet]
? (192.168.0.11) at 00:16:d3:xx:xx:xx on em0 permanent published [ethernet]
host6.2# tcpdump -np arp
host8.0# ifconfig em0 inet 192.168.0.2/24
host8.0# arp -s 192.168.0.12 auto pub
host8.0# arp -an | grep permanent
? (192.168.0.2) at 00:0c:29:xx:xx:xx on em0 permanent [ethernet]
? (192.168.0.12) at 00:0c:29:xx:xx:xx on em0 permanent published [ethernet]
host8.0# tcpdump -np arp
then, I do:
host6.2# arp -d 192.168.0.2; ping -c 1 192.168.0.2
host6.2# arp -d 192.168.0.12; ping -c 1 192.168.0.12
host8.0# arp -d 192.168.0.1; ping -c 1 192.168.0.1
host8.0# arp -d 192.168.0.11; ping -c 1 192.168.0.11
I am not caring about 'arp -d' errors (cannot locate) nor ping not
responding (for proxied addresses). I just cared about arp requests and
replys for now. The output of tcpdump on both sides are like this:
arp who-has 192.168.0.2 tell 192.168.0.1
arp reply 192.168.0.2 is-at 00:0c:29:xx:xx:xx
arp who-has 192.168.0.12 tell 192.168.0.1
arp who-has 192.168.0.1 tell 192.168.0.2
arp reply 192.168.0.1 is-at 00:16:d3:xx:xx:xx
arp who-has 192.168.0.11 tell 192.168.0.2
arp reply 192.168.0.11 is-at 00:16:d3:xx:xx:xx
As you can see from the above,
'arp -s 192.168.0.12 auto pub' on 8.0-current host
seems not to be producing proxy arp's.
What am I missing?
More information about the freebsd-net