net: team: use IFF_NO_ADDRCONF flag to prevent ipv6 addrconf
authorXin Long <lucien.xin@gmail.com>
Fri, 9 Dec 2022 15:21:39 +0000 (10:21 -0500)
committerJakub Kicinski <kuba@kernel.org>
Mon, 12 Dec 2022 23:18:25 +0000 (15:18 -0800)
This patch is to use IFF_NO_ADDRCONF flag to prevent ipv6 addrconf
for Team port. This flag will be set in team_port_enter(), which
is called before dev_open(), and cleared in team_port_leave(),
called after dev_close() and the err path in team_port_add().

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/team/team.c

index d10606f..fcd43d6 100644 (file)
@@ -1044,6 +1044,7 @@ static int team_port_enter(struct team *team, struct team_port *port)
                        goto err_port_enter;
                }
        }
+       port->dev->priv_flags |= IFF_NO_ADDRCONF;
 
        return 0;
 
@@ -1057,6 +1058,7 @@ static void team_port_leave(struct team *team, struct team_port *port)
 {
        if (team->ops.port_leave)
                team->ops.port_leave(team, port);
+       port->dev->priv_flags &= ~IFF_NO_ADDRCONF;
        dev_put(team->dev);
 }