Deleted Added
full compact
pdq_ifsubr.c (93818) pdq_ifsubr.c (106937)
1/* $NetBSD: pdq_ifsubr.c,v 1.38 2001/12/21 23:21:47 matt Exp $ */
2
3/*-
4 * Copyright (c) 1995, 1996 Matt Thomas <matt@3am-software.com>
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 10 unchanged lines hidden (view full) ---

19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 * $NetBSD: pdq_ifsubr.c,v 1.12 1997/06/05 01:56:35 thomas Exp$
1/* $NetBSD: pdq_ifsubr.c,v 1.38 2001/12/21 23:21:47 matt Exp $ */
2
3/*-
4 * Copyright (c) 1995, 1996 Matt Thomas <matt@3am-software.com>
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 10 unchanged lines hidden (view full) ---

19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 * $NetBSD: pdq_ifsubr.c,v 1.12 1997/06/05 01:56:35 thomas Exp$
27 * $FreeBSD: head/sys/dev/pdq/pdq_ifsubr.c 93818 2002-04-04 21:03:38Z jhb $
27 * $FreeBSD: head/sys/dev/pdq/pdq_ifsubr.c 106937 2002-11-14 23:54:55Z sam $
28 */
29
30/*
31 * DEC PDQ FDDI Controller; code for BSD derived operating systems
32 *
33 * This module provide bus independent BSD specific O/S functions.
34 * (ie. it provides an ifnet interface to the rest of the system)
35 */

--- 148 unchanged lines hidden (view full) ---

184void
185pdq_os_receive_pdu(
186 pdq_t *pdq,
187 struct mbuf *m,
188 size_t pktlen,
189 int drop)
190{
191 pdq_softc_t *sc = pdq->pdq_os_ctx;
28 */
29
30/*
31 * DEC PDQ FDDI Controller; code for BSD derived operating systems
32 *
33 * This module provide bus independent BSD specific O/S functions.
34 * (ie. it provides an ifnet interface to the rest of the system)
35 */

--- 148 unchanged lines hidden (view full) ---

184void
185pdq_os_receive_pdu(
186 pdq_t *pdq,
187 struct mbuf *m,
188 size_t pktlen,
189 int drop)
190{
191 pdq_softc_t *sc = pdq->pdq_os_ctx;
192 struct ifnet *ifp = &sc->sc_if;
192 struct fddi_header *fh;
193
193 struct fddi_header *fh;
194
194 sc->sc_if.if_ipackets++;
195 ifp->if_ipackets++;
195#if defined(PDQ_BUS_DMA)
196 {
197 /*
198 * Even though the first mbuf start at the first fddi header octet,
199 * the dmamap starts PDQ_OS_HDR_OFFSET octets earlier. Any additional
200 * mbufs will start normally.
201 */
202 int offset = PDQ_OS_HDR_OFFSET;

--- 9 unchanged lines hidden (view full) ---

212#endif
213 m->m_pkthdr.len = pktlen;
214#if NBPFILTER > 0
215 if (sc->sc_bpf != NULL)
216 PDQ_BPF_MTAP(sc, m);
217#endif
218 fh = mtod(m, struct fddi_header *);
219 if (drop || (fh->fddi_fc & (FDDIFC_L|FDDIFC_F)) != FDDIFC_LLC_ASYNC) {
196#if defined(PDQ_BUS_DMA)
197 {
198 /*
199 * Even though the first mbuf start at the first fddi header octet,
200 * the dmamap starts PDQ_OS_HDR_OFFSET octets earlier. Any additional
201 * mbufs will start normally.
202 */
203 int offset = PDQ_OS_HDR_OFFSET;

--- 9 unchanged lines hidden (view full) ---

213#endif
214 m->m_pkthdr.len = pktlen;
215#if NBPFILTER > 0
216 if (sc->sc_bpf != NULL)
217 PDQ_BPF_MTAP(sc, m);
218#endif
219 fh = mtod(m, struct fddi_header *);
220 if (drop || (fh->fddi_fc & (FDDIFC_L|FDDIFC_F)) != FDDIFC_LLC_ASYNC) {
220 sc->sc_if.if_iqdrops++;
221 sc->sc_if.if_ierrors++;
221 ifp->if_iqdrops++;
222 ifp->if_ierrors++;
222 PDQ_OS_DATABUF_FREE(pdq, m);
223 return;
224 }
225
223 PDQ_OS_DATABUF_FREE(pdq, m);
224 return;
225 }
226
226 m_adj(m, FDDI_HDR_LEN);
227 m->m_pkthdr.rcvif = &sc->sc_if;
228 fddi_input(&sc->sc_if, fh, m);
227 m->m_pkthdr.rcvif = ifp;
228 (*ifp->if_input)(ifp, m);
229}
230
231void
232pdq_os_restart_transmitter(
233 pdq_t *pdq)
234{
235 pdq_softc_t *sc = pdq->pdq_os_ctx;
236 sc->sc_if.if_flags &= ~IFF_OACTIVE;

--- 500 unchanged lines hidden ---
229}
230
231void
232pdq_os_restart_transmitter(
233 pdq_t *pdq)
234{
235 pdq_softc_t *sc = pdq->pdq_os_ctx;
236 sc->sc_if.if_flags &= ~IFF_OACTIVE;

--- 500 unchanged lines hidden ---