ndisc.c (3b00944c5c73c49ef52bf17b66557c43c1d945fe) ndisc.c (5b7c931dff03621ae7ac524c4fa280d4e5f187a4)
1/*
2 * Neighbour Discovery for IPv6
3 * Linux INET6 implementation
4 *
5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt>
7 * Mike Shaver <shaver@ingenia.com>
8 *

--- 1584 unchanged lines hidden (view full) ---

1593 }
1594
1595 return 0;
1596}
1597
1598static int ndisc_netdev_event(struct notifier_block *this, unsigned long event, void *ptr)
1599{
1600 struct net_device *dev = ptr;
1/*
2 * Neighbour Discovery for IPv6
3 * Linux INET6 implementation
4 *
5 * Authors:
6 * Pedro Roque <roque@di.fc.ul.pt>
7 * Mike Shaver <shaver@ingenia.com>
8 *

--- 1584 unchanged lines hidden (view full) ---

1593 }
1594
1595 return 0;
1596}
1597
1598static int ndisc_netdev_event(struct notifier_block *this, unsigned long event, void *ptr)
1599{
1600 struct net_device *dev = ptr;
1601 struct net *net = dev->nd_net;
1601
1602 if (dev->nd_net != &init_net)
1603 return NOTIFY_DONE;
1604
1605 switch (event) {
1606 case NETDEV_CHANGEADDR:
1607 neigh_changeaddr(&nd_tbl, dev);
1602
1603 if (dev->nd_net != &init_net)
1604 return NOTIFY_DONE;
1605
1606 switch (event) {
1607 case NETDEV_CHANGEADDR:
1608 neigh_changeaddr(&nd_tbl, dev);
1608 fib6_run_gc(~0UL);
1609 fib6_run_gc(~0UL, net);
1609 break;
1610 case NETDEV_DOWN:
1611 neigh_ifdown(&nd_tbl, dev);
1610 break;
1611 case NETDEV_DOWN:
1612 neigh_ifdown(&nd_tbl, dev);
1612 fib6_run_gc(~0UL);
1613 fib6_run_gc(~0UL, net);
1613 break;
1614 default:
1615 break;
1616 }
1617
1618 return NOTIFY_DONE;
1619}
1620

--- 150 unchanged lines hidden ---
1614 break;
1615 default:
1616 break;
1617 }
1618
1619 return NOTIFY_DONE;
1620}
1621

--- 150 unchanged lines hidden ---