From 2049fdeefd642095c9a48ff287cd6d39afa512b9 Mon Sep 17 00:00:00 2001 From: "Matthew N. Dodd" Date: Sun, 14 Sep 2003 02:32:31 +0000 Subject: [PATCH] Enable IPv6 for Token Ring. --- sys/net/if_iso88025subr.c | 4 ---- sys/netinet6/in6_ifattach.c | 1 + sys/netinet6/nd6.c | 5 +++++ sys/netinet6/nd6_nbr.c | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c index 6849e906f40..8be0503bb81 100644 --- a/sys/net/if_iso88025subr.c +++ b/sys/net/if_iso88025subr.c @@ -293,7 +293,6 @@ iso88025_output(ifp, m, dst, rt0) snap_type = ETHERTYPE_IP; break; #endif /* INET */ -#ifdef NOT_YET #ifdef INET6 case AF_INET6: if (!nd6_storelladdr(&ac->ac_if, rt, m, dst, (u_char *)edst)) { @@ -303,7 +302,6 @@ iso88025_output(ifp, m, dst, rt0) snap_type = ETHERTYPE_IPV6; break; #endif /* INET6 */ -#endif /* NOT_YET */ #ifdef IPX case AF_IPX: { @@ -575,14 +573,12 @@ iso88025_input(ifp, m) isr = NETISR_IPX; break; #endif /* IPX_SNAP */ -#ifdef NOT_YET #ifdef INET6 case ETHERTYPE_IPV6: th->iso88025_shost[0] &= ~(TR_RII); isr = NETISR_IPV6; break; #endif /* INET6 */ -#endif /* NOT_YET */ default: printf("iso88025_input: unexpected llc_snap ether_type 0x%02x\n", type); ifp->if_noproto++; diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index 58d09a760c8..88e29c83010 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -263,6 +263,7 @@ found: switch (ifp->if_type) { case IFT_ETHER: case IFT_FDDI: + case IFT_ISO88025: case IFT_ATM: case IFT_IEEE1394: #ifdef IFT_IEEE80211 diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index 2a66bb674ca..8fc4abf0176 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -62,6 +62,7 @@ #include #include #include +#include #include #include @@ -234,6 +235,9 @@ nd6_setmtu(ifp) ndi->maxmtu = MIN(ETHERMTU, ifp->if_mtu); break; #endif + case IFT_ISO88025: + ndi->maxmtu = MIN(ISO88025_MAX_MTU, ifp->if_mtu); + break; default: ndi->maxmtu = ifp->if_mtu; break; @@ -2087,6 +2091,7 @@ nd6_storelladdr(ifp, rt, m, dst, desten) #ifdef IFT_IEEE80211 case IFT_IEEE80211: #endif + case IFT_ISO88025: ETHER_MAP_IPV6_MULTICAST(&SIN6(dst)->sin6_addr, desten); return(1); diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 16bfbb41aea..287892e7be2 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -971,6 +971,7 @@ nd6_ifptomac(ifp) #ifdef IFT_IEEE80211 case IFT_IEEE80211: #endif + case IFT_ISO88025: return ((caddr_t)(ifp + 1)); break; default: