]> Git Repo - linux.git/commitdiff
ipv6: judge the accept_ra_defrtr before calling rt6_route_rcv
authorDuan Jiong <[email protected]>
Tue, 26 Nov 2013 07:46:56 +0000 (15:46 +0800)
committerDavid S. Miller <[email protected]>
Mon, 2 Dec 2013 21:00:38 +0000 (16:00 -0500)
when dealing with a RA message, if accept_ra_defrtr is false,
the kernel will not add the default route, and then deal with
the following route information options. Unfortunately, those
options maybe contain default route, so let's judge the
accept_ra_defrtr before calling rt6_route_rcv.

Signed-off-by: Duan Jiong <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
net/ipv6/ndisc.c

index 3512177deb4d0e7d12c6d145781802074f490615..3008651713947c76dac697d466f1301d05bba025 100644 (file)
@@ -1277,6 +1277,9 @@ skip_linkparms:
                            ri->prefix_len == 0)
                                continue;
 #endif
+                       if (ri->prefix_len == 0 &&
+                           !in6_dev->cnf.accept_ra_defrtr)
+                               continue;
                        if (ri->prefix_len > in6_dev->cnf.accept_ra_rt_info_max_plen)
                                continue;
                        rt6_route_rcv(skb->dev, (u8*)p, (p->nd_opt_len) << 3,
This page took 0.058437 seconds and 4 git commands to generate.