Skip to content

Commit

Permalink
ipv6: don't flush routes when setting loopback down
Browse files Browse the repository at this point in the history
When loopback device is being brought down, then keep the route table
entries because they are special. The entries in the local table for
linklocal routes and ::1 address should not be purged.

This is a sub optimal solution to the problem and should be replaced
by a better fix in future.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
stephen hemminger authored and David S. Miller committed Dec 17, 2010
1 parent 7d743b7 commit 29ba5fe
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion net/ipv6/addrconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -2669,7 +2669,9 @@ static int addrconf_ifdown(struct net_device *dev, int how)

ASSERT_RTNL();

rt6_ifdown(net, dev);
/* Flush routes if device is being removed or it is not loopback */
if (how || !(dev->flags & IFF_LOOPBACK))
rt6_ifdown(net, dev);
neigh_ifdown(&nd_tbl, dev);

idev = __in6_dev_get(dev);
Expand Down

0 comments on commit 29ba5fe

Please sign in to comment.