I am trying to set up linux bonding or teaming on the Jetson TX2.
I want to bond the on-board eth0 with an additional USB phy (eth1) to get double the speed with balance-rr bonding mode. The Jetson is directly connected to PC with also a bonded interface.
I compiled the bonding and teaming kernel modules and they are loaded:
root@tegra-ubuntu:/home/nvidia# lsmod
Module Size Used by
bonding 124720 0
team_mode_roundrobin 1663 0
team 28640 1 team_mode_roundrobin
I create a bonding interface:
ip link add bond0 type bond mode balance-rr
ip link set eth1 master bond0
ip link set eth0 master bond0
adding eth1 works but with eth0 it gives me:
RTNETLINK answers: Operation not supported
Similar result with teaming:
teamd config:
https://github.com/jpirko/libteam/blob/master/teamd/example_configs/roundrobin.conf
{
"device": "team0",
"runner": {"name": "roundrobin"},
"ports": {"eth0": {}, "eth1": {}}
}
starting teamd failes with:
root@tegra-ubuntu:/home/nvidia# teamd -g -f roundrobin.conf
Using team device "team0".
Using PID file "/var/run/teamd/team0.pid"
Using config file "/home/nvidia/roundrobin.conf"
This program is not intended to be run as root.
Added loop callback: daemon, 0x4303f0
Added loop callback: libteam_events, 0x4303f0
Added loop callback: workq, 0x4303f0
Using team runner "roundrobin".
usock: Using sockpath "/var/run/teamd/team0.sock"
Added loop callback: usock, 0x4303f0
<ifinfo_list>
13: team0: a2:17:b3:9d:f4:6c: 0
</ifinfo_list>
<port_list>
</port_list>
eth1: Adding port (found ifindex "10").
eth0: Adding port (found ifindex "3").
eth0: Failed to add port (Invalid argument).
Failed to add ports.
Removed loop callback: usock, 0x4303f0
Removed loop callback: workq, 0x4303f0
Removed loop callback: libteam_events, 0x4303f0
Removed loop callback: daemon, 0x4303f0
teamd_init() failed.
Failed: Invalid argument
I have the same error when adding only eth1 first and trying to add the other port with teamdctl team0 port add eth0
I have tried this on our custom base board and also on the TX2 dev board with the same result.
Bonding and Teaming works when bonding two usb phys.
Is Bonding or Teaming supported by the Nvidia on-board eth driver?