Skip to content

link speed -1? #81

@uli42

Description

@uli42

We are using teamd on RockyLinux 8.10 and on some nodes we see link speed -1 for the first interface of an lacp team:

$ teamdctl team0 state dump | grep  -e  ens -e speed
        "ens1f0": {
                "ifname": "ens1f0"
                "speed": -1,
        "ens1f1": {
                "ifname": "ens1f1"
                "speed": 10000,

Full output:

$ teamdctl team0 state dump
{
    "ports": {
        "ens1f0": {
            "ifinfo": {
                "dev_addr": "aa:bb:cc:dd:ee:ff",
                "dev_addr_len": 6,
                "ifindex": 6,
                "ifname": "ens1f0"
            },
            "link": {
                "duplex": "full",
                "speed": -1,
                "up": true
            },
            "link_watches": {
                "list": {
                    "link_watch_0": {
                        "delay_down": 0,
                        "delay_up": 0,
                        "down_count": 0,
                        "name": "ethtool",
                        "up": true
                    }
                },
                "up": true
            },
            "runner": {
                "actor_lacpdu_info": {
                    "key": 0,
                    "port": 6,
                    "port_priority": 255,
                    "state": 63,
                    "system": "aa:bb:cc:dd:ee:ff",
                    "system_priority": 65535
                },
                "aggregator": {
                    "id": 6,
                    "selected": true
                },
                "key": 0,
                "partner_lacpdu_info": {
                    "key": 19,
                    "port": 22,
                    "port_priority": 32768,
                    "state": 61,
                    "system": "fa:fb:fc:fd:fe:ff",
                    "system_priority": 32768
                },
                "prio": 255,
                "selected": true,
                "state": "current"
            }
        },
        "ens1f1": {
            "ifinfo": {
                "dev_addr": "aa:bb:cc:dd:ee:ff",
                "dev_addr_len": 6,
                "ifindex": 7,
                "ifname": "ens1f1"
            },
            "link": {
                "duplex": "full",
                "speed": 10000,
                "up": true
            },
            "link_watches": {
                "list": {
                    "link_watch_0": {
                        "delay_down": 0,
                        "delay_up": 0,
                        "down_count": 1,
                        "name": "ethtool",
                        "up": true
                    }
                },
                "up": true
            },
            "runner": {
                "actor_lacpdu_info": {
                    "key": 0,
                    "port": 7,
                    "port_priority": 255,
                    "state": 63,
                    "system": "aa:bb:cc:dd:ee:ff",
                    "system_priority": 65535
                },
                "aggregator": {
                    "id": 6,
                    "selected": true
                },
                "key": 0,
                "partner_lacpdu_info": {
                    "key": 19,
                    "port": 128,
                    "port_priority": 32768,
                    "state": 61,
                    "system": "fa:fb:fc:fd:fe:ff",
                    "system_priority": 32768
                },
                "prio": 255,
                "selected": true,
                "state": "current"
            }
        }
    },
    "runner": {
        "active": true,
        "fast_rate": true,
        "select_policy": "lacp_prio",
        "sys_prio": 65535
    },
    "setup": {
        "daemonized": false,
        "dbus_enabled": true,
        "debug_level": 0,
        "kernel_team_mode_name": "loadbalance",
        "pid": 2772,
        "pid_file": "/var/run/teamd/team0.pid",
        "runner_name": "lacp",
        "zmq_enabled": false
    },
    "team_device": {
        "ifinfo": {
            "dev_addr": "aa:bb:cc:dd:ee:ff",
            "dev_addr_len": 6,
            "ifindex": 12,
            "ifname": "team0"
        }
    }
}

(MACs obfuscated).

The speed for the first interface ens1f0 is shown as -1. We can also see that teamnl shows weird values:

$ teamnl team0 ports
 7: ens1f1: up 10000Mbit FD 
 6: ens1f0: up 4294967295Mbit FD 

BUT: ethtool looks fine:

ethtool ens1f0
Settings for ens1f0:
	Supported ports: [ FIBRE ]
	Supported link modes:   10000baseT/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: No
	Supported FEC modes: Not reported
	Advertised link modes:  10000baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: 10000Mb/s
	Duplex: Full
	Auto-negotiation: off
	Port: FIBRE
	PHYAD: 0
	Transceiver: internal
	Supports Wake-on: d
	Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
	Link detected: yes

It looks like ethtool reports wrong values or they get parsed incorrectly:

$ teamdctl team0 state view -v | grep -e ethtool -e  ens
  ens1f0
    ethtool link: -1mbit/fullduplex/up
        name: ethtool
  ens1f1
    ethtool link: 10000mbit/fullduplex/up
        name: ethtool

Full output:

$ teamdctl team0 state view -v
setup:
  runner: lacp
  kernel team mode: loadbalance
  D-BUS enabled: yes
  ZeroMQ enabled: no
  debug level: 0
  daemonized: no
  PID: 2772
  PID file: /var/run/teamd/team0.pid
ports:
  ens1f0
    ifindex: 6
    addr: aa:bb:cc:dd:ee:ff
    ethtool link: -1mbit/fullduplex/up
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
        link up delay: 0
        link down delay: 0
    runner:
      aggregator ID: 6, Selected
      selected: yes
      state: current
      key: 0
      priority: 255
      actor LACPDU info:
        system priority: 65535
        system: aa:bb:cc:dd:ee:ff
        key: 0
        port_priority: 255
        port: 6
        state: 0x3f
      partner LACPDU info:
        system priority: 32768
        system: fa:fb:fc:fd:fe:ff
        key: 19
        port_priority: 32768
        port: 22
        state: 0x3d

Versions:

$ rpm -qf `which teamdctl`
teamd-1.31-4.el8.x86_64
$rpm -qf `which teamnl`
libteam-1.31-4.el8.x86_64
$ rpm -qf `which teamd`
teamd-1.31-4.el8.x86_64

Is this expected behaviour in some situations? Or is it bug?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions