pdq_ifsubr.c (33676) | pdq_ifsubr.c (48645) |
---|---|
1/*- 2 * Copyright (c) 1995, 1996 Matt Thomas <matt@3am-software.com> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 7 unchanged lines hidden (view full) --- 16 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * | 1/*- 2 * Copyright (c) 1995, 1996 Matt Thomas <matt@3am-software.com> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 7 unchanged lines hidden (view full) --- 16 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * |
24 * $Id: pdq_ifsubr.c,v 1.6 1998/01/08 23:40:28 eivind Exp $ | 24 * $Id: pdq_ifsubr.c,v 1.7 1998/02/20 13:11:45 bde Exp $ |
25 * 26 */ 27 28/* 29 * DEC PDQ FDDI Controller; code for BSD derived operating systems 30 * 31 * This module provide bus independent BSD specific O/S functions. 32 * (ie. it provides an ifnet interface to the rest of the system) --- 7 unchanged lines hidden (view full) --- 40#include <sys/sockio.h> 41#if defined(__bsdi__) || defined(__NetBSD__) 42#include <sys/device.h> 43#endif 44 45#include <net/if.h> 46#include <net/if_dl.h> 47 | 25 * 26 */ 27 28/* 29 * DEC PDQ FDDI Controller; code for BSD derived operating systems 30 * 31 * This module provide bus independent BSD specific O/S functions. 32 * (ie. it provides an ifnet interface to the rest of the system) --- 7 unchanged lines hidden (view full) --- 40#include <sys/sockio.h> 41#if defined(__bsdi__) || defined(__NetBSD__) 42#include <sys/device.h> 43#endif 44 45#include <net/if.h> 46#include <net/if_dl.h> 47 |
48#include "bpfilter.h" 49#if NBPFILTER > 0 | 48#include "bpf.h" 49#if NBPF > 0 |
50#include <net/bpf.h> 51#endif 52 53#if defined(__FreeBSD__) 54#ifdef INET 55#include <netinet/in.h> 56#include <netinet/if_ether.h> 57#endif --- 123 unchanged lines hidden (view full) --- 181 pdq_t *pdq, 182 struct mbuf *m, 183 size_t pktlen) 184{ 185 pdq_softc_t *sc = (pdq_softc_t *) pdq->pdq_os_ctx; 186 struct fddi_header *fh = mtod(m, struct fddi_header *); 187 188 sc->sc_if.if_ipackets++; | 50#include <net/bpf.h> 51#endif 52 53#if defined(__FreeBSD__) 54#ifdef INET 55#include <netinet/in.h> 56#include <netinet/if_ether.h> 57#endif --- 123 unchanged lines hidden (view full) --- 181 pdq_t *pdq, 182 struct mbuf *m, 183 size_t pktlen) 184{ 185 pdq_softc_t *sc = (pdq_softc_t *) pdq->pdq_os_ctx; 186 struct fddi_header *fh = mtod(m, struct fddi_header *); 187 188 sc->sc_if.if_ipackets++; |
189#if NBPFILTER > 0 | 189#if NBPF > 0 |
190 if (sc->sc_bpf != NULL) 191 PDQ_BPF_MTAP(sc, m); 192 if ((fh->fddi_fc & (FDDIFC_L|FDDIFC_F)) != FDDIFC_LLC_ASYNC) { 193 m_freem(m); 194 return; 195 } 196#endif 197 --- 19 unchanged lines hidden (view full) --- 217} 218 219void 220pdq_os_transmit_done( 221 pdq_t *pdq, 222 struct mbuf *m) 223{ 224 pdq_softc_t *sc = (pdq_softc_t *) pdq->pdq_os_ctx; | 190 if (sc->sc_bpf != NULL) 191 PDQ_BPF_MTAP(sc, m); 192 if ((fh->fddi_fc & (FDDIFC_L|FDDIFC_F)) != FDDIFC_LLC_ASYNC) { 193 m_freem(m); 194 return; 195 } 196#endif 197 --- 19 unchanged lines hidden (view full) --- 217} 218 219void 220pdq_os_transmit_done( 221 pdq_t *pdq, 222 struct mbuf *m) 223{ 224 pdq_softc_t *sc = (pdq_softc_t *) pdq->pdq_os_ctx; |
225#if NBPFILTER > 0 | 225#if NBPF > 0 |
226 if (sc->sc_bpf != NULL) 227 PDQ_BPF_MTAP(sc, m); 228#endif 229 m_freem(m); 230 sc->sc_if.if_opackets++; 231} 232 233void --- 145 unchanged lines hidden (view full) --- 379 ifp->if_ioctl = pdq_ifioctl; 380 ifp->if_output = fddi_output; 381 ifp->if_start = pdq_ifstart; 382#warning "Implement fddi_resolvemulti!" 383/* ifp->if_resolvemulti = ether_resolvemulti; XXX */ 384 385 if_attach(ifp); 386 fddi_ifattach(ifp); | 226 if (sc->sc_bpf != NULL) 227 PDQ_BPF_MTAP(sc, m); 228#endif 229 m_freem(m); 230 sc->sc_if.if_opackets++; 231} 232 233void --- 145 unchanged lines hidden (view full) --- 379 ifp->if_ioctl = pdq_ifioctl; 380 ifp->if_output = fddi_output; 381 ifp->if_start = pdq_ifstart; 382#warning "Implement fddi_resolvemulti!" 383/* ifp->if_resolvemulti = ether_resolvemulti; XXX */ 384 385 if_attach(ifp); 386 fddi_ifattach(ifp); |
387#if NBPFILTER > 0 | 387#if NBPF > 0 |
388 PDQ_BPFATTACH(sc, DLT_FDDI, sizeof(struct fddi_header)); 389#endif 390} | 388 PDQ_BPFATTACH(sc, DLT_FDDI, sizeof(struct fddi_header)); 389#endif 390} |