From 477bcaeab8e2d3b466043268da6163ec4ff9f970 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 28 Nov 1995 01:59:19 +0000 Subject: Implement some rudimentry IPX support... --- sys/net/if_spppsubr.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'sys/net/if_spppsubr.c') diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c index a26a4f0..de87679 100644 --- a/sys/net/if_spppsubr.c +++ b/sys/net/if_spppsubr.c @@ -68,6 +68,7 @@ #define PPP_IP 0x0021 /* Internet Protocol */ #define PPP_ISO 0x0023 /* ISO OSI Protocol */ #define PPP_XNS 0x0025 /* Xerox NS Protocol */ +#define PPP_IPX 0x002b /* Novell IPX Protocol */ #define PPP_LCP 0xc021 /* Link Control Protocol */ #define PPP_IPCP 0x8021 /* Internet Protocol Control Protocol */ @@ -263,6 +264,15 @@ invalid: if (ifp->if_flags & IFF_DEBUG) } break; #endif +#ifdef IPX + case PPP_IPX: + /* IPX IPXCP not implemented yet */ + if (sp->lcp.state == LCP_STATE_OPENED) { + schednetisr (NETISR_IPX); + inq = &ipxintrq; + } + break; +#endif #ifdef NS case PPP_XNS: /* XNS IDPCP not implemented yet */ @@ -307,6 +317,12 @@ invalid: if (ifp->if_flags & IFF_DEBUG) inq = &ipintrq; break; #endif +#ifdef IPX + case ETHERTYPE_IPX: + schednetisr (NETISR_IPX); + inq = &ipxintrq; + break; +#endif #ifdef NS case ETHERTYPE_NS: schednetisr (NETISR_NS); @@ -412,9 +428,9 @@ int sppp_output (struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, struct break; #endif #ifdef IPX - case AF_IPX: /* Xerox NS Protocol */ + case AF_IPX: /* Novell IPX Protocol */ h->protocol = htons ((sp->pp_flags & PP_CISCO) ? - ETHERTYPE_IPX : PPP_XNS); + ETHERTYPE_IPX : PPP_IPX); break; #endif #ifdef ISO -- cgit v1.1