diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet6/in6_ifattach.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index 6df70e57750..5f5bffc8e5f 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -1,5 +1,5 @@ -/* $OpenBSD: in6_ifattach.c,v 1.11 2000/10/02 04:45:03 itojun Exp $ */ -/* $KAME: in6_ifattach.c,v 1.67 2000/10/01 10:51:54 itojun Exp $ */ +/* $OpenBSD: in6_ifattach.c,v 1.12 2000/10/18 18:49:39 itojun Exp $ */ +/* $KAME: in6_ifattach.c,v 1.68 2000/10/18 18:44:24 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -586,6 +586,18 @@ in6_ifattach(ifp, altifp) struct in6_ifaddr *ia; struct in6_addr in6; + /* some of the interfaces are inherently not IPv6 capable */ + switch (ifp->if_type) { + case IFT_BRIDGE: + return; + case IFT_PROPVIRTUAL: + if (strncmp("bridge", ifp->if_xname, sizeof("bridge")) == 0 && + '0' <= ifp->if_xname[sizeof("bridge")] && + ifp->if_xname[sizeof("bridge")] <= '9') + return; + break; + } + /* * We have some arrays that should be indexed by if_index. * since if_index will grow dynamically, they should grow too. |