Bridge interface speed is only 100 Mbit isntead of 1000 Mbit - UCS way to set speed?

I have 2 Univention (KVM) hosts, both version 4.4-0:
Host1 was upgraded from 4.3 (or earlier)
Host2 is new 4.4-0 install

Host1 has br0 br1 br2 configured, all ports (eth0, eth1, eth2, eth3) speed is 1000 Mbits speed. Host1 also has ethtool installed. (and there is script in /etc/network/if-up.d/ethtool something to do with speed)

Host2 has br0 br1 br2 configured, ports (eno1, eno2, eno3) speed is 100 Mbits only. (eno4 unconfigured port speed is 1000 Mbits).

I think what happened is that once I configured bridge ports on Host2, speed dropped to 100 Mbits. ethtool is not installed. And because ethtool is missing, could it be that bridged ports speed was automatically set at 100 Mbit?

I could add unmaintaned repositories, install ethtool and force 1000 speed, however is there a Univention way of doing same?

PS how did I check link speed, example:
cat /sys/class/net/eno1/speed

Thanks in advance.

Line speed is handled solely by the kernel without the need for any user space tool. If your interfaces run at 100 Mbit/s, the reason is certainly not the absence of ethtool. Check:

  1. that you’re using Gbit/s-capable cabling,
  2. that your switch actually supports Gbit/s and isn’t a 100 Mbit/s one,
  3. if it’s a managed switch that the switch ports aren’t configured to only allow 100 Mbit/s or that they’re set to a fixed rate instead of auto negotiation.

For our benefit you can enable the “unmaintained” repository on your UCS server and install the ethtool package afterwards. Then run ethtool ano1 and post the output. That might shed some light on what’s happening.

In general UCS only provides ways to configure bridging/bonding/IP addresses, but not hardware properties. If you need to configure your interfaces manually from user space, use the usual ways, e.g. by running the appropriate programs via udev rules.

  1. It is possible that just by some coincidence, three cables in question are bad, but I can only confirm that by replacing them with other cables during out of working hours window.
  2. Switch supports 1Gbits, and
  3. all ports on switch are set to auto negotiation.

on Host2:

$ sudo ethtool eno1
Settings for eno1:
        Supported ports: [ TP ]
        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
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
                                             1000baseT/Full 
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: off
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes
$ sudo ethtool eno4
Settings for eno4:
        Supported ports: [ TP ]
        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
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
                                             1000baseT/Full 
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 4
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: off
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

Just additional info

$ grep bridge_ports /etc/network/interfaces
        bridge_ports eno3
        bridge_ports eno2
        bridge_ports eno1

Interesting, but not enlightening :slight_smile:

You could try forcing the link speed to 1000 full for the affected interfaces and see if still have connectivity afterwards: ethtool -s eno1 speed 1000 duplex full

Note that you shouldn’t run that over ssh as it’s absolutely possible to disrupt connectivity that way. You must have console access (at least for emergencies) when you try this.

If it does help, configure appropriate udev rules or a systemd service to run the necessary commands during boot.

Having extra Ethernet ports, I decided to run my virtual machines on other ports rather than primary network interface on the host. :slight_smile:

Forcing speed with ethtool to 1000 Mbits unfortunately did not work: virtual machines became unavailable on network. I set the speed back to 100 Mbits.

I seen on internet few stackexchange topics with similart problems, when configuring br interface dropped network interface speed to 100 Mbits.

Now that ethtool is installed, I will try

  • try restarting server during maintenance window maybe this evening, maybe that will help,
  • will check cables during the week
  • will configure one more bridge port on spare eno4 interface, which currently shows speed as 1000

will post results here.

I have established that this happens due to faulty patch panel.

However thank you for explaining about ethtool and unmaintained package repository, and recommending to use udev.

Mastodon