In libteam teamd/teamd_runner_activebackup.c, when there is a failover,
function ab_set_active_port() will enable port first and set new hwaddr later.
Sometimes the gratuitous ARP will be sent before the new hwaddr be set on team.
This will cause the ARP src mac address is still using the old hwaddr. Here is
- call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, team->dev)
- inetdev_send_gratuitous_arp(dev, in_dev);
ab->hwaddr_policy->active_set(ctx, ab, tdport)
Do you think if we should move the hwaddr setting before enabling ports?
I just a little warry about what we should do if hwaddr setting pass but the
port enable failed.
Show replies by date