locked
Trunk not working - CentOS 6.3 with LIS 3.5 - ARP Problem? RRS feed

  • Question

  • Hello Everyone,

    I have an Hyper-V VM with a network card set as Trunk.
    If the guest OS is Windows, it works fine.
    If the guest OS is CentOS 6.3 with Linux Integration Services 3.5, it doesn't.
    So apparently the Hyper-V configuration is ok.

    The same CentOS trunk configuration works when running on dedicated servers instead of VMs

    I hope you can help me with this, bellow is the configuration:

    ifcfg-eth2

    DEVICE=eth2
    BOOTPROTO=none
    ONBOOT="yes"
    TYPE="Ethernet"


    ifcfg-eth2.10

    VLAN=yes
    DEVICE=eth2.10
    PHYSDEV=eth2
    ONBOOT=yes
    BOOTPROTO=static
    TYPE=Ethernet
    IPADDR=192.168.3.8
    NETMASK=255.255.255.0


    modinfo hv_netvsc

    filename:       /lib/modules/2.6.32-279.el6.x86_64/extra/microsoft-hyper-v/hv_netvsc.ko
    alias:          vmbus:635161f83edfc546913ff2d2f965ed0e
    description:    Microsoft Hyper-V network driver
    version:        3.5
    license:        GPL
    srcversion:     6442953183A6AF60C735E3F
    depends:        hv_vmbus
    vermagic:       2.6.32-279.el6.x86_64 SMP mod_unload modversions 
    parm:           ring_size:Ring buffer size (# of pages) (int)


    uname -a

    Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


    I made a PC with IP 192.168.3.2 ping the CentOS box with IP 192.168.3.8 (With no response), but I do have the following on CentOS when running tcpdump

    16:13:23.718293 ARP, Request who-has 192.168.3.8 tell 192.168.3.2, length 28
    16:13:24.718282 ARP, Request who-has 192.168.3.8 tell 192.168.3.2, length 28
    16:13:25.714672 ARP, Request who-has 192.168.3.8 tell 192.168.3.2, length 28


    If I ping from the CentOS to the other box, I get the ARP reply at the network card, but it's not forwarded to the vlan Interface. I guess this may be the problem, but not a clue which setting to modify to make it work.

    tcpdump at eth2

    17:04:01.625041 ARP, Request who-has 192.168.3.2 tell 192.168.3.8, length 28
    17:04:01.626221 ARP, Reply 192.168.3.2 is-at 00:15:5d:f4:f4:61 (oui Unknown), length 28


    tcpdump at eth2.10

    17:03:52.623090 ARP, Request who-has 192.168.3.2 tell 192.168.3.8, length 28
    17:03:53.623054 ARP, Request who-has 192.168.3.2 tell 192.168.3.8, length 28


    Bellow you can see the ARP reply comes with the vlan 10 tag (000a)

    10:26:17.663017 ARP, Request who-has 192.168.3.2 tell 192.168.3.8, length 28
       0x0000:  ffff ffff ffff 0015 5df4 f474 8100 000a  ........]..t....
       0x0010:  0806 0001 0800 0604 0001 0015 5df4 f474  ............]..t
       0x0020:  c0a8 0308 0000 0000 0000 c0a8 0302       ..............
    10:26:17.663718 ARP, Reply 192.168.3.2 is-at 00:15:5d:f4:f4:61, length 28
       0x0000:  0015 5df4 f474 0015 5df4 f461 8100 000a  ..]..t..]..a....
       0x0010:  0806 0001 0800 0604 0002 0015 5df4 f461  ............]..a
       0x0020:  c0a8 0302 0015 5df4 f474 c0a8 0308       ......]..t....

    As a side note, I'm aware that CentOS 6.5 comes with LIS, but it brings the 3.1 version, and trunking was enabled on 3.5, so that's why I'm using CentOS6.3

    Anyway, I've been trying to make this work for 2 weeks now with no luck, so I will really appreciate any help you can provide.

    Thanks

    Tuesday, April 1, 2014 4:16 PM

All replies

  • Hi there! Please give me some time. I shall have our developers take a look at this and get back to you.

    Thanks,

    Abhishek

    Thursday, April 3, 2014 1:37 AM
  • Hi Edu, Unfortunately VLAN tagging and trunking do not work together on 2.6.32 kernels. Our driver does pass the correct vlan tag to the Linux network stack in the kernel, but it isn’t properly processed. Therefore, the issue does exist in older RHEL/CentOS distributions. Is it possible for you to test the recent RHEL 7 beta as we anticipate that the feature should work there properly. Please let me know your thoughts.

    Thanks,

    Abhishek

    Thursday, April 3, 2014 7:37 PM
  • @Edu's:  I'd like to clear up a potential mis-conception.  You made this statement:

    "As a side note, I'm aware that CentOS 6.5 comes with LIS, but it brings the 3.1 version, and trunking was enabled on 3.5, so that's why I'm using CentOS6.3"

    Unfortunately, the version numbers are not comparable between a Linux distro with LIS built-in and the LIS packages that are downloadable from Microsoft for older Linux distros.  So the conclusion that CentOS 6.3 with LIS 3.5 installed is "later" than the LIS built-in to CentOS 6.5 would not be correct.  If you check the documentation here: http://technet.microsoft.com/en-us/library/dn531026.aspx, you can see the details of what features are enabled in which Linux distros. 

       

    Michael Kelley, Lead Program Manager, Open Source Technology Center

    Friday, April 4, 2014 1:01 AM
    Moderator