On Wed, Dec 11, 2019 at 11:44:47AM +0100, Jiri Pirko wrote:
Wed, Dec 04, 2019 at 08:17:11AM CET, liuhangbin(a)gmail.com wrote:
>When adding the first slave to team dev, the team dev's hwaddr will
>be updated to this slave's hwaddr in function:
> teamd_event_watch_port_added()
> - teamd_hwaddr_check_change(),
>But we didn't update the ctx->hwaddr, which is still the team's init
hwaddr.
>
>Later in the following functions:
> lacp_port_set_mac()
> lb_event_watch_port_added()
> ab_hwaddr_policy_same_all_port_added()
>they will set the first slave's hwaddr to team's init
hwaddr(ctx->hwaddr).
>
>This will cause that the first slave(most likely the active slave)'s hwaddr
>changes to team dev's original hwaddr, and later back to its old hwaddr
>again, which would make the LACPDUs have different Actor System IDs.
>
>Fix it by updating ctx->hwaddr when set ctx->ifindex to new hwaddr.
>
>Note that teamd_set_hwaddr() doesn't need this fix as it will set
>ctx->hwaddr_explicit = true.
>
>v2: update commit description, no code changes.
>
>Signed-off-by: Hangbin Liu <liuhangbin(a)gmail.com>
applied, thanks.
Next time, please put the "v2" notes under "---"
Thanks for the reviewing, and thanks for the tips.
Regards
Hangbin