Link speed capped at 100Mbps with CentOS 6.2 hosted on Windows 2008 R2 Hyper-V RRS feed

  • Question

  • I had read up on the various tricks to install CentOS on Hyper-V, and everything installed smoothly. However, it appears that the vNIC is only connecting at 100Mbps. I say appears because I cannot derive any information from the drivers other than the fact that there is a link.

    For example, when I execute 'ethtool eth0' on my stand-alone CentOS box, I get the following output:

    Settings for eth0:
            Supported ports: [ TP MII ]
            Supported link modes:   10baseT/Half 10baseT/Full
                                    100baseT/Half 100baseT/Full
                                    1000baseT/Half 1000baseT/Full
            Supported pause frame use: No
            Supports auto-negotiation: Yes
            Advertised link modes:  10baseT/Half 10baseT/Full
                                    100baseT/Half 100baseT/Full
                                    1000baseT/Half 1000baseT/Full
            Advertised pause frame use: Symmetric Receive-only
            Advertised auto-negotiation: Yes
            Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                                 100baseT/Half 100baseT/Full
            Link partner advertised pause frame use: Symmetric Receive-only
            Link partner advertised auto-negotiation: Yes
            Speed: 1000Mb/s
            Duplex: Full
            Port: MII
            PHYAD: 0
            Transceiver: internal
            Auto-negotiation: on
            Supports Wake-on: pumbg
            Wake-on: g
            Current message level: 0x00000033 (51)
                                   drv probe ifdown ifup
            Link detected: yes

    When I run that command on my VM, I get this output:

    Settings for eth0:
            Link detected: yes

    Attempting to manually set the speed

    [root@centvm]#ethtool -s eth0 speed 1000
    Cannot get current device settings: Operation not supported
      not setting speed

    There are no settings in the Hyper-V GUI concerning link speed. I have other Windows 2008 R2 VMs on this host that report the expected 10Gbps link, so I'm relatively sure there is no hardware or other extenuating issue. There are no errors, either. The only evidence that this is occurring is that transfer speeds from a user cap out at 100Mbps. When a second user initiates a transfer, both cap out at 50Mbps. I realize that is anecdotal evidence, but without being able to verify within the OS, I'm forced to accept it. I have verified that I am using a native vNIC and not a legacy. In fact, I have rebuilt all networking with these steps:

    1. Deleted /etc/udev/rules.d/70-persistent-net.rules from CentOS
    2. Moved /etc/sysconfig/network-scripts/ifcfg-eth0 to /tmp
    3. Shut down VM, Removed all vNIC (there was only one), Booted VM
    4. Verified no new NIC in udev, only localhost listed in ifconfig
    5. Shut down VM, Added new native NIC, Booted VM
    6. Edited /etc/udev/rules.d/70-persistent-net.rules to change detected NIC from eth1 to eth0, verified MAC listed matched MAC of vNIC reported by Hyper-V
    7. Updated MAC in /tmp/ifcfg-eth0, then copied back to /etc/sysconfig/network-scripts, ran 'service network restart'
    8. Network connectivity restored, can transfer files and ssh. Still seeing 100Mbps speed cap.

    So, my question is: Is there a way to poll this info correctly? Are there any settings available for link speed with the native drivers? Is this a known issue?

    Sunday, May 20, 2012 4:13 PM

All replies

  • Are you using a network adapter or a legacy network adapter in the VM?

    While the link speed will report 10 GB/s, it will perform as fast as the underlying physical link can perform. I've done testing with CentOS 6.2 to get link speeds upwards of 9 GB/s.

    ethtool not working is a known issue.

    This posting is provided "AS IS" with no warranties, and confers no rights.

    Tuesday, May 22, 2012 2:38 PM
  • It is a native network adapter.

    I realize the Windows VMs remporting 10Gbps is just the connection to the virtual switch fabric, and that the actual traffic will be that of the physical link. My point in mentioning it was that the Windows VMs were reporting as expected. To expand on my setup, this is on a Dell server with dual Broadcomm NICs. One NIC is dedicated to the host, the second is dedicated to the VMs.

    What are you using to test your links at 9GB/s? VM to VM transfers on the same host? What speeds do you get to an external host?

    Is there ANY reporting tool that works in LIC 3.2? My server is console only, no GUI.

    • Edited by Paul Vaden Tuesday, May 22, 2012 3:47 PM
    Tuesday, May 22, 2012 3:46 PM
  • same problem here...

    Rafael Monteiro

    Tuesday, July 10, 2012 1:31 AM
  • Just FYI, I never did find a solution for this. The project it was for was high priority so I ended up having to switch to stand-alone hardware rather than a VM. I'm still very interested in finding the issue so it can be addressed in the future, but I no longer have the VM available for testing solutions.

    Tuesday, July 10, 2012 5:52 AM
  • Exact same issue here, windows server 2012 hyper-v, centos 6.2 vm, Linux Integration Services 3.4 installed on vm - ethtool only shows Link detected.  There has to be a way to access the adapter settings but I'm just missing it...
    Tuesday, October 30, 2012 4:13 AM