diff options
author | peter <peter@FreeBSD.org> | 1995-11-28 01:59:19 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1995-11-28 01:59:19 +0000 |
commit | 477bcaeab8e2d3b466043268da6163ec4ff9f970 (patch) | |
tree | 1b32413a33eecee054fec6b182aac727d985d5d8 /sys/net | |
parent | 016bb775145bda65b589a74f690267dca8404c39 (diff) | |
download | FreeBSD-src-477bcaeab8e2d3b466043268da6163ec4ff9f970.zip FreeBSD-src-477bcaeab8e2d3b466043268da6163ec4ff9f970.tar.gz |
Implement some rudimentry IPX support...
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/if_spppsubr.c | 20 |
1 files changed, 18 insertions, 2 deletions
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 |