Hi, the patch 1f7aa2bc268e, "r8169: simplify rtl_set_mac_address", introduced a regression found by trying to team a r8169 NIC.
Try the following (assuming the r8169 NIC is eth0): $ nmcli con add type team con-name team0 ifname nm-team config \ '{"runner": {"name": "lacp"}, "link_watch": {"name": "ethtool"}}' \ ipv4.method disable ipv6.method ignore $ nmcli con add type ethernet ifname eth0 con-name team0.0 master nm-team $ nmcli con up team0.0 $ teamdctl nm-team port present eth0 command call failed (No such device) Bisecting turned up commit 1f7aa2bc268e, "r8169: simplify rtl_set_mac_address" as the culprit. Reverting this patch fixes the issue and the teamdctl call succeeds. The reason is apparently the usage of eth_mac_addr here. eth_mac_addr calls eth_prepare_mac_addr_change which checks for IFF_LIVE_ADDR_CHANGE. Debugging shows this flag not being set on r8169, thus eth_prepare_mac_addr_change returns -EBUSY (no idea why userspace claims "No such device", rather than "Device or resource busy", but that's not the point here). Note that other devices like igb, don't call eth_mac_addr either, but rather call memcpy by themselves to copy the new MAC, just as the original r8169 code did, too. Consequentially this problem is not present on igb. I suggest to revert this change in the first place, but I wonder if we're not just missing to set IFF_LIVE_ADDR_CHANGE in a lot of drivers. Thanks, Corinna