]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ipv6: add special mode forwarding=2 to send RS while
authorThomas Graf <tgraf@infradead.org>
Fri, 3 Sep 2010 03:04:20 +0000 (03:04 +0000)
committerAndi Kleen <ak@linux.intel.com>
Mon, 1 Aug 2011 20:55:04 +0000 (13:55 -0700)
[ upstream commit c3bccac2fa76f1619dfe4fb7b9bee69de7f066d8 ]
 configured as router

Similar to accepting router advertisement, the IPv6 stack does not send router
solicitations if forwarding is enabled.

This patch enables this behavior to be overruled by setting forwarding to the
special value 2.

Signed-off-by: Thomas Graf <tgraf@infradead.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
net/ipv6/addrconf.c

index b5ab939d4d92dec859ed4a310c2ac9bfc1aa629c..5d59520ae162af8b665116f70b027780327af61b 100644 (file)
@@ -2960,7 +2960,8 @@ static void addrconf_dad_completed(struct inet6_ifaddr *ifp)
           start sending router solicitations.
         */
 
-       if (ifp->idev->cnf.forwarding == 0 &&
+       if ((ifp->idev->cnf.forwarding == 0 ||
+            ifp->idev->cnf.forwarding == 2) &&
            ifp->idev->cnf.rtr_solicits > 0 &&
            (dev->flags&IFF_LOOPBACK) == 0 &&
            (ipv6_addr_type(&ifp->addr) & IPV6_ADDR_LINKLOCAL)) {