I have this setup, which is basically a linux server with one physical interface connected to another device. On this physical interface there is 2 VLANs, 100 and 200. In VLAN100 there is an IP address x.x.x.0/31 configured and enslaved into VRF "TEST". In VLAN200 there is an IP address x.x.x.1/31 configured without any master VRF.
The other device would basically, like a physical cross-connect, flip any incoming frame with VLAN 100 to VLAN 200 and vice versa without inspecting the content.
Now, my problem is, when I try to initiate an ICMP echo request from x.x.x.0 toward x.x.x.1 with the source interface "TEST", I never get an echo reply!
I see that there are ARP request sent from VLAN 100 and reaches VLAN 200, but no ARP replies from VLAN 200 back.
Topology is here
test:~ $ ip addr show eth0.100
269: eth0.100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9100 qdisc noqueue master TEST state UP group default qlen 1000
link/ether 52:b6:07:e5:00:0c brd ff:ff:ff:ff:ff:ff
inet 10.10.10.0/31 scope global eth0.100
valid_lft forever preferred_lft forever
test:~ $ ip addr show eth0.200
270: eth0.200: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9100 qdisc noqueue state UP group default qlen 1000
link/ether 52:b6:07:e5:00:0c brd ff:ff:ff:ff:ff:ff
inet 10.10.10.1/31 scope global eth0.200
valid_lft forever preferred_lft forever
test:~ $ ip route show 10.10.10.0/31
10.10.10.0/31 dev eth0.200 proto kernel scope link src 10.10.10.1
test:~ $ ip route show 10.10.10.0/31 table 200
10.10.10.0/31 dev eth0.100 proto kernel scope link src 10.10.10.0
test:~ $ ip -br link show type vrf
TEST UP 8a:50:09:bc:b5:fa <NOARP,MASTER,UP,LOWER_UP>
So what I would expect that, two entries should exist in the ARP table, one for x.x.x.0 and x.x.x.1 with the same mac-address (because it's the same physical interface) but one in a VRF and the other is in the main table. But for some reasons, this doesn't work
What do I miss here?