diff options
Diffstat (limited to 'sys/net/if_fddisubr.c')
-rw-r--r-- | sys/net/if_fddisubr.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index 4a3f3668307..74c7c0944b7 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_fddisubr.c,v 1.19 1999/07/28 20:02:41 fgsch Exp $ */ +/* $OpenBSD: if_fddisubr.c,v 1.20 1999/12/08 06:50:18 itojun Exp $ */ /* $NetBSD: if_fddisubr.c,v 1.5 1996/05/07 23:20:21 christos Exp $ */ /* @@ -86,6 +86,14 @@ didn't get a copy, you may request one from <license@ipv6.nrl.navy.mil>. #include <netipx/ipx_if.h> #endif +#ifdef INET6 +#ifndef INET +#include <netinet/in.h> +#include <netinet/in_var.h> +#endif +#include <netinet6/nd6.h> +#endif + #ifdef NS #include <netns/ns.h> #include <netns/ns_if.h> @@ -194,6 +202,19 @@ fddi_output(ifp, m0, dst, rt0) #endif #ifdef INET6 case AF_INET6: +#ifdef OLDIP6OUTPUT + if (!nd6_resolve(ifp, rt, m, dst, edst)) + return (0); /* if not yet resolved */ +#else + if (!nd6_storelladdr(ifp, rt, m, dst, (u_char *)edst)) + return 0; +#endif + type = htons(ETHERTYPE_IPV6); + break; +#endif +#if 0 /*NRL IPv6*/ +#ifdef INET6 + case AF_INET6: /* * The bottom line here is to either queue the outgoing packet * in the discovery engine, or fill in edst with something @@ -214,6 +235,7 @@ fddi_output(ifp, m0, dst, rt0) type = htons(ETHERTYPE_IPV6); break; #endif /* INET6 */ +#endif #ifdef IPX case AF_IPX: type = htons(ETHERTYPE_IPX); @@ -492,7 +514,7 @@ fddi_input(ifp, fh, m) #ifdef INET6 case ETHERTYPE_IPV6: schednetisr(NETISR_IPV6); - inq = &ipv6intrq; + inq = &ip6intrq; break; #endif /* INET6 */ #ifdef IPX |