summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>1999-12-09 13:59:58 +0000
committerJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>1999-12-09 13:59:58 +0000
commitd62b29b12c164a072217ec7865e01185435964d1 (patch)
treea71b398923a8b2d535f6389074ddb6313d196aee /sys
parent5292cfc403d7b1b27391a342e66456888f900c81 (diff)
do not perform IPv6 initialization for loopback interface.
MUST make lo0 up before any IPv6 operations. it will be considered a pilot error if you don't. (I prefer to have lo0 initialized automatically)
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet6/in6.c3
-rw-r--r--sys/netinet6/ip6_input.c11
2 files changed, 10 insertions, 4 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index b046e1d8671..02f3da2447f 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -1905,6 +1905,9 @@ in6_if_up(ifp)
}
switch (ifp->if_type) {
+ case IFT_LOOP:
+ in6_ifattach(ifp, IN6_IFT_LOOP, NULL, 1);
+ break;
case IFT_SLIP:
case IFT_PPP:
case IFT_DUMMY:
diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c
index 3af81337779..bb18a75ab0c 100644
--- a/sys/netinet6/ip6_input.c
+++ b/sys/netinet6/ip6_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip6_input.c,v 1.3 1999/12/09 00:40:06 angelos Exp $ */
+/* $OpenBSD: ip6_input.c,v 1.4 1999/12/09 13:59:57 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -188,17 +188,20 @@ static void
ip6_init2(dummy)
void *dummy;
{
- int i, ret;
+ int ret;
/* get EUI64 from somewhere */
ret = in6_ifattach_getifid(NULL);
+#if 0
/*
* to route local address of p2p link to loopback,
* assign loopback address first.
*/
- for (i = 0; i < NLOOP; i++)
- in6_ifattach(&loif[i], IN6_IFT_LOOP, NULL, 0);
+ in6_ifattach(&loif[0], IN6_IFT_LOOP, NULL, 0);
+#else
+ /* you MUST bring lo0 up manually, in rc script. */
+#endif
/* nd6_timer_init */
timeout(nd6_timer, (caddr_t)0, hz);