Deleted Added
full compact
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}