diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net/if_atm.h | 6 | ||||
-rw-r--r-- | sys/net/if_atmsubr.c | 14 | ||||
-rw-r--r-- | sys/netinet/if_atm.c | 6 |
3 files changed, 15 insertions, 11 deletions
diff --git a/sys/net/if_atm.h b/sys/net/if_atm.h index d1d60f2a3fd..5620bc89b3e 100644 --- a/sys/net/if_atm.h +++ b/sys/net/if_atm.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_atm.h,v 1.5 1996/06/28 02:33:41 chuck Exp $ */ +/* $OpenBSD: if_atm.h,v 1.6 1996/06/29 20:05:41 chuck Exp $ */ /* * @@ -68,7 +68,7 @@ struct atm_pseudohdr { /* atm_pseudoioctl: turns on and off RX VCIs [for internal use only!] */ struct atm_pseudoioctl { struct atm_pseudohdr aph; - struct socket *asock; + void *rxhand; }; #define SIOCATMENA _IOWR('a', 123, struct atm_pseudoioctl) /* enable */ #define SIOCATMDIS _IOWR('a', 124, struct atm_pseudoioctl) /* disable */ @@ -92,7 +92,7 @@ struct atmllc { #ifdef _KERNEL void atm_ifattach __P((struct ifnet *)); void atm_input __P((struct ifnet *, struct atm_pseudohdr *, - struct mbuf *, struct socket *)); + struct mbuf *, void *)); int atm_output __P((struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *)); #endif diff --git a/sys/net/if_atmsubr.c b/sys/net/if_atmsubr.c index d8e95763558..e45189c2b0f 100644 --- a/sys/net/if_atmsubr.c +++ b/sys/net/if_atmsubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_atmsubr.c,v 1.4 1996/06/27 04:33:10 chuck Exp $ */ +/* $OpenBSD: if_atmsubr.c,v 1.5 1996/06/29 20:05:41 chuck Exp $ */ /* * @@ -201,11 +201,11 @@ bad: * the packet is in the mbuf chain m. */ void -atm_input(ifp, ah, m, so) +atm_input(ifp, ah, m, rxhand) struct ifnet *ifp; register struct atm_pseudohdr *ah; struct mbuf *m; - struct socket *so; + void *rxhand; { register struct ifqueue *inq; u_int16_t etype = ETHERTYPE_IP; /* default */ @@ -218,11 +218,15 @@ atm_input(ifp, ah, m, so) ifp->if_lastchange = time; ifp->if_ibytes += m->m_pkthdr.len; - if (so) { + if (rxhand) { #ifdef NATM + struct natmpcb *npcb = rxhand; + s = splimp(); /* in case 2 atm cards @ diff lvls */ + npcb->npcb_inq++; /* count # in queue */ + splx(s); schednetisr(NETISR_NATM); inq = &natmintrq; - m->m_pkthdr.rcvif = (struct ifnet *) so; /* XXX: overload */ + m->m_pkthdr.rcvif = rxhand; /* XXX: overload */ #else printf("atm_input: NATM detected but not configured in kernel\n"); m_freem(m); diff --git a/sys/netinet/if_atm.c b/sys/netinet/if_atm.c index d2d1ba922d5..6d4b3799e14 100644 --- a/sys/netinet/if_atm.c +++ b/sys/netinet/if_atm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_atm.c,v 1.3 1996/06/26 04:17:08 chuck Exp $ */ +/* $OpenBSD: if_atm.c,v 1.4 1996/06/29 20:05:42 chuck Exp $ */ /* * @@ -153,7 +153,7 @@ atm_rtrequest(req, rt, sa) * let the lower level know this circuit is active */ bcopy(LLADDR(SDL(gate)), &api.aph, sizeof(api.aph)); - api.asock = NULL; + api.rxhand = NULL; if (rt->rt_ifp->if_ioctl(rt->rt_ifp, SIOCATMENA, (caddr_t)&api) != 0) { printf("atm: couldn't add VC\n"); @@ -196,7 +196,7 @@ failed: */ bcopy(LLADDR(SDL(gate)), &api.aph, sizeof(api.aph)); - api.asock = NULL; + api.rxhand = NULL; (void)rt->rt_ifp->if_ioctl(rt->rt_ifp, SIOCATMDIS, (caddr_t)&api); |