I found this err in "loadbalance" and "lacp" runner when adding ports.
It's caused by trying to set "enabled" option in .port_link_changed()
When a new port is added, the first 'port changed event' process is
earlier than CMD TEAM_CMD_OPTIONS_GET, in this CMD, all
the options are synchronized from kernel.
It means there's no 'enabled' option yet when calling port_link_changed
in the first 'port changed event' process. In lb_event_watch_port_link_changed
and lacp_event_watch_port_changed, they call teamd_port_check_enable
to set 'enabled' option. this err is triggered.
I'm not sure why teamd_port_check_enable needs to check if
'enabled' option exists. I checked the ab's .port_link_changed(),
it just sets it by calling team_set_port_enabled(), instead of
checking 'enabled' option first.
can we just use team_set_port_enabled to set it directly in
.port(_link)_changed OR improve teamd_port_check_enable
to avoid this err ?
The 'random' value is just missing from the documentation.
Signed-off-by: Francesco Giudici <fgiudici(a)redhat.com>
man/teamd.conf.5 | 3 +++
1 file changed, 3 insertions(+)
diff --git a/man/teamd.conf.5 b/man/teamd.conf.5
index dc5000e..a252042 100644
@@ -31,6 +31,9 @@ Simple runner which directs the team device to transmit packets via all ports.
.BR "roundrobin "\(em
Simple runner which directs the team device to transmits packets in a round-robin fashion.
+.BR "random "\(em
+Simple runner which directs the team device to transmits packets on a randomly selected port.
.BR "activebackup "\(em
Watches for link changes and selects active port to be used for data transfers.