From 4ef49bb9acfe68509b5a1c86eee6f1a1cad7b119 Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Sun, 3 Mar 2013 20:46:46 +0000 Subject: [PATCH] --- yaml --- r: 360825 b: refs/heads/master c: 3e8b0ac3e41e3c882222a5522d5df7212438ab51 h: refs/heads/master i: 360823: 77a6e853d7aee01b540216a0b950a06ba60771a7 v: v3 --- [refs] | 2 +- trunk/net/ipv6/route.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c836ce5c23f5..3c1744668267 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: de5fb0a053482d89262c3284b67884cd2c621adc +refs/heads/master: 3e8b0ac3e41e3c882222a5522d5df7212438ab51 diff --git a/trunk/net/ipv6/route.c b/trunk/net/ipv6/route.c index 928266569689..e5fe0041adfa 100644 --- a/trunk/net/ipv6/route.c +++ b/trunk/net/ipv6/route.c @@ -1915,7 +1915,8 @@ void rt6_purge_dflt_routers(struct net *net) restart: read_lock_bh(&table->tb6_lock); for (rt = table->tb6_root.leaf; rt; rt = rt->dst.rt6_next) { - if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF)) { + if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF) && + (!rt->rt6i_idev || rt->rt6i_idev->cnf.accept_ra != 2)) { dst_hold(&rt->dst); read_unlock_bh(&table->tb6_lock); ip6_del_rt(rt);