From 6bf0e87387878654186bcf7287e0eda59b1c2f2c Mon Sep 17 00:00:00 2001 From: Hangbin Liu Date: Thu, 21 Feb 2019 17:37:46 +0800 Subject: [PATCH 4/6] teamd: lw: nsna_ping: only send ns on enabled port We forget to check forced_send when using nsna_ping link_watch. Ns is sent from all ports, which cause switch mac flapping. Some reply packets are delivered to disabled port and dropped directly. Fix it by checking forced_send and only send ns on enabled port. Reported-by: LiLiang Signed-off-by: Hangbin Liu Signed-off-by: Jiri Pirko --- teamd/teamd_lw_nsna_ping.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/teamd/teamd_lw_nsna_ping.c b/teamd/teamd_lw_nsna_ping.c index 127d950..82371c4 100644 --- a/teamd/teamd_lw_nsna_ping.c +++ b/teamd/teamd_lw_nsna_ping.c @@ -203,6 +203,9 @@ static int lw_nsnap_send(struct lw_psr_port_priv *psr_ppriv) struct sockaddr_in6 sendto_addr; struct ns_packet nsp; + if (!(psr_ppriv->common.forced_send)) + return 0; + err = teamd_getsockname_hwaddr(psr_ppriv->sock, &ll_my, sizeof(nsp.hwaddr)); if (err) -- 2.18.1