summaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-08-25 09:12:35 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-08-25 09:12:35 +0000
commitc7fc24dc4420057f103afe8fc64524ebc25c5d37 (patch)
tree3682407a599b8f9f03fc096298134cafba1c9b2f /net/ipv6/addrconf.c
parent1d793fade8b063fde3cf275bf1a5c2d381292cd9 (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.c25
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);