diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-08-25 09:12:35 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-08-25 09:12:35 +0000 |
commit | c7fc24dc4420057f103afe8fc64524ebc25c5d37 (patch) | |
tree | 3682407a599b8f9f03fc096298134cafba1c9b2f /net/ipv6/addrconf.c | |
parent | 1d793fade8b063fde3cf275bf1a5c2d381292cd9 (diff) |
o Merge with Linux 2.1.116.
o New Newport console code.
o New G364 console code.
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 5571c04c7..329807093 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -5,7 +5,7 @@ * Authors: * Pedro Roque <roque@di.fc.ul.pt> * - * $Id: addrconf.c,v 1.38 1998/03/20 09:12:14 davem Exp $ + * $Id: addrconf.c,v 1.43 1998/07/15 05:05:32 davem Exp $ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -53,6 +53,7 @@ #include <linux/rtnetlink.h> #include <asm/uaccess.h> +#include <asm/delay.h> /* Set to 3 to get tracing... */ #define ACONF_DEBUG 2 @@ -1033,7 +1034,7 @@ static void addrconf_dev_config(struct device *dev) struct inet6_dev * idev; if (dev->type != ARPHRD_ETHER) { - /* Alas, we support only ethernet autoconfiguration. */ + /* Alas, we support only Ethernet autoconfiguration. */ return; } @@ -1157,13 +1158,6 @@ static int addrconf_ifdown(struct device *dev, int how) start_bh_atomic(); - /* Discard multicast list */ - - if (how == 1) - ipv6_mc_destroy_dev(idev); - else - ipv6_mc_down(idev); - /* Discard address list */ idev->addr_list = NULL; @@ -1187,6 +1181,13 @@ static int addrconf_ifdown(struct device *dev, int how) } } + /* Discard multicast list */ + + if (how == 1) + ipv6_mc_destroy_dev(idev); + else + ipv6_mc_down(idev); + /* Delete device from device hash table (if unregistered) */ if (how == 1) { @@ -1608,7 +1609,7 @@ static struct rtnetlink_link inet6_rtnetlink_table[RTM_MAX-RTM_BASE+1] = { inet6_rtm_newroute, NULL, }, { inet6_rtm_delroute, NULL, }, - { NULL, inet6_dump_fib, }, + { inet6_rtm_getroute, inet6_dump_fib, }, { NULL, NULL, }, }; #endif @@ -1808,7 +1809,7 @@ __initfunc(void addrconf_init(void)) addr_chk_timer.expires = jiffies + ADDR_CHECK_FREQUENCY; add_timer(&addr_chk_timer); #ifdef CONFIG_RTNETLINK - rtnetlink_links[AF_INET6] = inet6_rtnetlink_table; + rtnetlink_links[PF_INET6] = inet6_rtnetlink_table; #endif #ifdef CONFIG_SYSCTL addrconf_sysctl.sysctl_header = @@ -1825,7 +1826,7 @@ void addrconf_cleanup(void) int i; #ifdef CONFIG_RTNETLINK - rtnetlink_links[AF_INET6] = NULL; + rtnetlink_links[PF_INET6] = NULL; #endif #ifdef CONFIG_SYSCTL addrconf_sysctl_unregister(&ipv6_devconf_dflt); |