I'm trying to test gre(4) tunnel.
Both machines in one LAN. OpenBSD has IP 192.50.51.52, another end -
192.50.51.28.
# ifconfig gre0
gre0: flags=9011<UP,POINTOPOINT,LINK0,MULTICAST> mtu 1476
groups: gre
physical address inet 192.50.51.52 --> 192.50.51.28
inet6 fe80::204:23ff:fece:bbb4%gre0 -> prefixlen 64 scopeid 0x17
inet 192.168.254.254 --> 192.168.254.253 netmask 0xffffffff
When I ping 192.168.254.253 in 'tcpdump -evpni em0 proto gre' I see
20:28:38.627914 0:4:23:ce:bb:b4 0:16:cb:a2:8e:c5 0800 122: gre
192.50.51.52 > 192.50.51.28: [] 192.168.254.254 > 192.168.254.253:
icmp: echo request (id:bd53 seq:44) (ttl 255, id 3713, len 84) (DF)
(ttl 64, id 26235, len 108)
But MAC address of 192.50.51.28 is wrong!
# netstat -nr | grep 0:16:cb:a2:8e:c5
192.50.51.29 00:16:cb:a2:8e:c5 UHLc 1 62 - em0
# netstat -nr | grep 192.50.51.28
192.50.51.28 00:e0:4d:02:d6:0e UHLc 0 19 - em0
So packages are sended on mac address of machine with next IP then it
must be. And I did not receive anything on 192.50.51.28! Tested with
different IP in LAN - it's used mac of machine with next IP. And if
the such machine is offline I get "Host is down" while pinging.
Is this a bug or I missed something?