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?