Hi,
I am currently testing libteam, especially I am testing the activebackup
runner and I have found that my changes done with
teamdctl <device> port config update <port> '{<config>}'
are not adopted by the devices. I am setting up a teamdevice without
ports configured:
{
"device": "bond0",
"link_watch": {
"name": "ethtool"
},
"runner": {
"name": "activebackup",
"hwaddr_policy" : "same_all"
}
}
and start teamd afterwards:
teamd -d -o -N -f /var/run/teamd/bond0.config -g -t bond0
I add two ports to this device:
teamdctl bond0 port add eth1
teamdctl bond0 port add eth2
and set the config for these
teamdctl bond0 port config update eth1 '{"prio":1000,
"sticky":true}'
teamdctl bond0 port config update eth2 '{"prio":10,
"sticky":false}'
so that eth1 should be the preferred slave.
Now I see the following lines in the logs:
teamd_bond0[6614] eth1: Using sticky "0".
If I set the ethX devices to down and up with 'ip link', I see the
following in the logs:
teamd_bond0[6614] Found best port: "eth1" (ifindex "8", prio
"0").
[...]
teamd_bond0[6614] eth2: ethtool-link went up.
teamd_bond0[6614] Current active port: "eth1" (ifindex "8", prio
"0").
So it seems that the values that were configured with the "port config
update" were not adopted.
The active-backup failover does behave exactly like this. If I set eth1
to down and than up again with
ip link set dev eth1 down | up
eth2 stays the active slave.
Teamdctl however shows my configuration:
teamdctl bond0 port config dump eth1
{
"prio": 1000,
"sticky": true
}
and
teamdctl bond0 port config dump eth2
{
"prio": 10,
"sticky": false
}
I also noticed that I can rename the configs to "prioasdasda" for
example and teamdctl does not complain
and it shows the options as they were typed.
When I start the teamd with the interfaces and options configured in the
config file, the active-backup switches work as expected.
However when I change the priorities using teamdctl, these new settings
are not reflected in the system. All the devices still have
their initial configuration.
Do I miss something here? What do I need to do to let the new
configuration be adopted?
I am using kernel 3.18. If you need any further information or want me
to try something out, I can reproduce this anytime.
Thank you in advance,
Peter