diff options
author | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 1999-12-09 13:59:58 +0000 |
---|---|---|
committer | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 1999-12-09 13:59:58 +0000 |
commit | d62b29b12c164a072217ec7865e01185435964d1 (patch) | |
tree | a71b398923a8b2d535f6389074ddb6313d196aee /sys | |
parent | 5292cfc403d7b1b27391a342e66456888f900c81 (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.c | 3 | ||||
-rw-r--r-- | sys/netinet6/ip6_input.c | 11 |
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); |