diff options
Diffstat (limited to 'net/ipv6/ndisc.c')
-rw-r--r-- | net/ipv6/ndisc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index eb322959a3e1..f1c95125100d 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
@@ -1598,6 +1598,7 @@ int ndisc_rcv(struct sk_buff *skb) | |||
1598 | static int ndisc_netdev_event(struct notifier_block *this, unsigned long event, void *ptr) | 1598 | static int ndisc_netdev_event(struct notifier_block *this, unsigned long event, void *ptr) |
1599 | { | 1599 | { |
1600 | struct net_device *dev = ptr; | 1600 | struct net_device *dev = ptr; |
1601 | struct net *net = dev->nd_net; | ||
1601 | 1602 | ||
1602 | if (dev->nd_net != &init_net) | 1603 | if (dev->nd_net != &init_net) |
1603 | return NOTIFY_DONE; | 1604 | return NOTIFY_DONE; |
@@ -1605,11 +1606,11 @@ static int ndisc_netdev_event(struct notifier_block *this, unsigned long event, | |||
1605 | switch (event) { | 1606 | switch (event) { |
1606 | case NETDEV_CHANGEADDR: | 1607 | case NETDEV_CHANGEADDR: |
1607 | neigh_changeaddr(&nd_tbl, dev); | 1608 | neigh_changeaddr(&nd_tbl, dev); |
1608 | fib6_run_gc(~0UL); | 1609 | fib6_run_gc(~0UL, net); |
1609 | break; | 1610 | break; |
1610 | case NETDEV_DOWN: | 1611 | case NETDEV_DOWN: |
1611 | neigh_ifdown(&nd_tbl, dev); | 1612 | neigh_ifdown(&nd_tbl, dev); |
1612 | fib6_run_gc(~0UL); | 1613 | fib6_run_gc(~0UL, net); |
1613 | break; | 1614 | break; |
1614 | default: | 1615 | default: |
1615 | break; | 1616 | break; |