Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

link speed -1? #81

Open
uli42 opened this issue Nov 22, 2024 · 0 comments
Open

link speed -1? #81

uli42 opened this issue Nov 22, 2024 · 0 comments

Comments

@uli42
Copy link

uli42 commented Nov 22, 2024

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant