OSDN Git Service

bridge: br_arp_nd_proxy: set icmp6_router if neigh has NTF_ROUTER
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Tue, 25 Sep 2018 21:39:14 +0000 (14:39 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:49:55 +0000 (14:49 +0100)
[ Upstream commit 7aca011f88eb57be1b17b0216247f4e32ac54e29 ]

Fixes: ed842faeb2bd ("bridge: suppress nd pkts on BR_NEIGH_SUPPRESS ports")
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/bridge/br_arp_nd_proxy.c

index 2cf7716..d42e390 100644 (file)
@@ -311,7 +311,7 @@ static void br_nd_send(struct net_bridge *br, struct net_bridge_port *p,
        /* Neighbor Advertisement */
        memset(na, 0, sizeof(*na) + na_olen);
        na->icmph.icmp6_type = NDISC_NEIGHBOUR_ADVERTISEMENT;
-       na->icmph.icmp6_router = 0; /* XXX: should be 1 ? */
+       na->icmph.icmp6_router = (n->flags & NTF_ROUTER) ? 1 : 0;
        na->icmph.icmp6_override = 1;
        na->icmph.icmp6_solicited = 1;
        na->target = ns->target;