NetworkManager sets MTU to 9000 even on 100mbps connections

Bug #1324214 reported by Rob A
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I have a network which supports jumbo frames end-to-end internally. This weekend, after rebooting my laptop, it came up only negotiating 100mbps, but networkManager still set the MTU to 9000, which doesn't work (can't do jumbo frames on anything except 1gbps, by spec). NM should recognie the auto-negotiated rate as part of the "automatic MTU" determiniation.

Kubuntu 14.04. When I pulled the cable, and rerouted it, the laptop re-negotiated 1gbps again, and jumbo frames went fine. This output was gathered during the time when the laptop was stuck at 100mbps.

rob@kubuntu4:~$ lsb_release -rd
Description: Ubuntu 14.04 LTS
Release: 14.04
rob@kubuntu4:~$ sudo apt-cache policy network-manager
[sudo] password for rob:
network-manager:
  Installed: 0.9.8.8-0ubuntu7
  Candidate: 0.9.8.8-0ubuntu7
  Version table:
 *** 0.9.8.8-0ubuntu7 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status

Network setup is:
    kubuntu laptop -> dlink switch -> ESXi 5.1 server -> VMs

    MTU=9000 causes problems.

    VM -> VM works on same server.

    Switch hardware: http://www.dlink.com/us/en/business-solutions/switching/unmanaged-switches/rackmount/dgs-1024d-24-port-copper-gigabit-switch
    ESX set up following: http://www.edge-cloud.net/2013/11/jumbo-frames-vmware-esxi/

    TCP packets over 1500 bytes just keep getting retransmitted, accordint to tcpdump captures.

    Laptop:
    rob@kubuntu4:/var/log$ sudo ethtool eth0
    [sudo] password for rob:
    Settings for eth0:
            Supported ports: [ TP ]
            Supported link modes: 10baseT/Half 10baseT/Full
                                    100baseT/Half 100baseT/Full
                                    1000baseT/Full
            Supported pause frame use: No
            Supports auto-negotiation: Yes
            Advertised link modes: 10baseT/Half 10baseT/Full
                                    100baseT/Half 100baseT/Full
                                    1000baseT/Full
            Advertised pause frame use: No
            Advertised auto-negotiation: Yes
            Speed: 100Mb/s
            Duplex: Full
            Port: Twisted Pair
            PHYAD: 2
            Transceiver: internal
            Auto-negotiation: on
            MDI-X: off (auto)
            Supports Wake-on: pumbg
            Wake-on: g
            Current message level: 0x00000007 (7)
                                   drv probe link
            Link detected: yes
    rob@kubuntu4:/var/log$ ifconfig eth0
    eth0 Link encap:Ethernet HWaddr 00:21:cc:cf:e0:78
              inet addr:192.168.0.106 Bcast:192.168.0.255 Mask:255.255.255.0
              inet6 addr: fe80::221:ccff:fecf:e078/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1
              RX packets:17744 errors:0 dropped:0 overruns:0 frame:0
              TX packets:15941 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:11750951 (11.7 MB) TX bytes:5220060 (5.2 MB)
              Interrupt:20 Memory:d2500000-d2520000

    VM SSH Server:

    rob@srv1:/var/log$ sudo ethtool eth0 [8/1084]
    [sudo] password for rob:
    Settings for eth0:
            Supported ports: [ TP ]
            Supported link modes: 1000baseT/Full
                                    10000baseT/Full
            Supported pause frame use: No
            Supports auto-negotiation: No
            Advertised link modes: Not reported
            Advertised pause frame use: No
            Advertised auto-negotiation: No
            Speed: 10000Mb/s
            Duplex: Full
            Port: Twisted Pair
            PHYAD: 0
            Transceiver: internal
            Auto-negotiation: off
            MDI-X: Unknown
            Supports Wake-on: uag
            Wake-on: d
            Link detected: yes
    rob@srv1:/var/log$ ifconfig eth0
    eth0 Link encap:Ethernet HWaddr 00:50:56:B6:7F:3D
              inet addr:192.168.0.21 Bcast:192.168.0.255 Mask:255.255.255.0
              inet6 addr: fe80::250:56ff:feb6:7f3d/64 Scope:Link
              UP BROADCAST RUNNING ALLMULTI MULTICAST MTU:9000 Metric:1
              RX packets:22817347 errors:0 dropped:80 overruns:0 frame:0
              TX packets:11956945 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:11504454844 (10.7 GiB) TX bytes:32510875048 (30.2 GiB)

    ESX Server:
    This system has been migrated to ESXi 5.1.0.
    ~ # esxcfg-vswitch -l
    Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
    vSwitch0 128 24 128 9000 vmnic0,vmnic1

      PortGroup Name VLAN ID Used Ports Uplinks
      Management Network 0 1 vmnic0,vmnic1
      VM Network 0 17 vmnic0,vmnic1
      VMkernel 0 1 vmnic0,vmnic1

    ~ # esxcfg-vmknic -l
    Interface Port Group/DVPort IP Family IP Address Netmask Broadcast MAC Address MTU TSO MSS Enabled Type
    vmk0 VMkernel IPv4 192.168.0.251 255.255.255.0 192.168.0.255 00:50:56:71:b6:3a 9000 65535 true STATIC
    vmk1 Management Network IPv4 192.168.0.250 255.255.255.0 192.168.0.255 00:50:56:47:fc:b9 9000 65535 true STATIC
    ~ # esxcfg-nics -l
    Name PCI Driver Link Speed Duplex MAC Address MTU Description
    vmnic0 0000:03:00.00 bnx2 Up 1000Mbps Full 00:1e:4f:1f:fa:6c 9000 Broadcom Corporation Broadcom NetXtreme II BCM5708 1000Base-T
    vmnic1 0000:07:00.00 bnx2 Up 1000Mbps Full 00:1e:4f:1f:fa:6e 9000 Broadcom Corporation Broadcom NetXtreme II BCM5708 1000Base-T

Tags: frames jumbo mtu
Revision history for this message
Rob A (docsmooth) wrote :

FYI: to test, you need to have a network that supports jumbo frames, then snip the 2 wires on your patch cable (so 1gbps can't be negotiated), or set the VM to only negotiate 100mbps in the VM definition, but leave NetworkManager's automatic MTU detection enabled.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in network-manager (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.