Im playing around with MacVLAN interfaces and Im seeing some strange behavior. I have a Linux host that has an eth0 interface (Ubunut 14.04) that has config like this....
auto eth0
iface eth0 inet static
address 172.16.10.2
netmask 255.255.255.0
gateway 172.16.10.1
dns-nameservers 10.20.30.13
dns-search lab.lab
Now if I deploy a simple MacVLAN interface like this...
sudo ip link add mv1 link eth0 type macvlan mode bridge
sudo ip address add 172.16.10.5/24 dev mv1
sudo ip link set dev mv1 up
I can ping the 172.16.10.5 address from the upstream network. However, both 172.16.10.2 and the MacVLAN interface show the same Mac Address on the switch...
switch#show ip arp vlan 30
Protocol Address Age (min) Hardware Addr Type Interface
Internet 172.16.10.6 0 000c.292d.dd79 ARPA Vlan30
Internet 172.16.10.5 0 000c.292d.dd79 ARPA Vlan30
Internet 172.16.10.2 0 000c.292d.dd79 ARPA Vlan30
Internet 172.16.10.3 0 000c.2959.caca ARPA Vlan30
Internet 172.16.10.1 - 0021.d7c5.f245 ARPA Vlan30
If I create futher MacVLAN interfaces (.6) it also shows the Mac Address of the physical interface, not the ones assigned to the Mac VLAN interfaces as shown below from output on the server itself...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:2d:dd:79 brd ff:ff:ff:ff:ff:ff
inet 172.16.10.2/24 brd 172.16.10.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe2d:dd79/64 scope link
valid_lft forever preferred_lft forever
4: mv1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether 16:62:a4:1d:fa:31 brd ff:ff:ff:ff:ff:ff
inet 172.16.10.5/24 scope global mv1
valid_lft forever preferred_lft forever
inet6 fe80::1462:a4ff:fe1d:fa31/64 scope link
valid_lft forever preferred_lft forever
5: mv4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether be:70:46:44:31:af brd ff:ff:ff:ff:ff:ff
inet 172.16.10.6/24 scope global mv4
valid_lft forever preferred_lft forever
inet6 fe80::bc70:46ff:fe44:31af/64 scope link
valid_lft forever preferred_lft forever
So it looks like the Mac Addresses are unique on the Linux server. But the physical network is seeing the ARP entries with same MAC as the physical itnerface.
Isnt this wrong? Isnt this how IPVLAN should work? Im confused.