I am running a SLES11, SP4 kernel on 2 systems. I have 2 NICs connected through a Netgear GS724T switch. I have configured VLAN 400 on the switch.
On system 1, I create a VLAN 400 on eth0 called eth0.400. I assign it address 13.0.0.1/8. I do not assign an address to eth0.
On system 2, I create a VLAN 400 on eth0 called eth0.400. I assign it address 13.0.0.2/8. I do not assign an address to eth0.
From system 1, I enter ping –c1 –Ieth0.400 13.0.0.2
I start up tcpdump on system 2 on eth0 and eth0.400 and I see the following:
The echo request comes in on eth0 with the VLAN tag of 400 and gets passed to eth0.400 with the VLAN tag stripped off. However, an echo reply is not sent by eth0.400. The eth0 interface starts sending out ARP requests to try to figure out how to get to 13.0.0.1 and the ping times out. If I enter an arp command on system 2, I can see that there is an arp entry for 13.0.0.1 attached to eth0.400, but the one for eth0 is incomplete. Why is eth0.400 not sending back the echo reply? Why is eth0 attempting to do it instead? If I create an arp entry for 13.0.0.1 for eth0, then eth0 sends back the echo reply, but without a VLAN tag.
How do I get eth0.400 to send the echo reply and include its VLAN tag?