diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-04-30 09:25:14 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-04-30 09:25:14 +0000 |
commit | f0a73669441175de197b2cc9b92c56cf847868d4 (patch) | |
tree | 4555f1baa49338d529da71a98ab275f32a5ad7e1 | |
parent | e7f70a3af3ca9e313253a67e955e8584211e225d (diff) |
Convert to if_input(), tweak and ok dlg@
-rw-r--r-- | sys/dev/pci/if_sk.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/sys/dev/pci/if_sk.c b/sys/dev/pci/if_sk.c index 321bbd7e277..8a9f591b831 100644 --- a/sys/dev/pci/if_sk.c +++ b/sys/dev/pci/if_sk.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_sk.c,v 1.174 2015/03/14 03:38:48 jsg Exp $ */ +/* $OpenBSD: if_sk.c,v 1.175 2015/04/30 09:25:13 mpi Exp $ */ /* * Copyright (c) 1997, 1998, 1999, 2000 @@ -1587,6 +1587,7 @@ sk_rxeof(struct sk_if_softc *sc_if) struct ifnet *ifp = &sc_if->arpcom.ac_if; struct if_rxring *rxr = &sc_if->sk_cdata.sk_rx_ring; struct mbuf *m; + struct mbuf_list ml = MBUF_LIST_INITIALIZER(); struct sk_chain *cur_rx; struct sk_rx_desc *cur_desc; int cur, total_len = 0; @@ -1635,22 +1636,16 @@ sk_rxeof(struct sk_if_softc *sc_if) continue; } - m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = m->m_len = total_len; + ml_enqueue(&ml, m); ifp->if_ipackets++; - -#if NBPFILTER > 0 - if (ifp->if_bpf) - bpf_mtap(ifp->if_bpf, m, BPF_DIRECTION_IN); -#endif - - /* pass it on. */ - ether_input_mbuf(ifp, m); } sc_if->sk_cdata.sk_rx_cons = cur; sk_fill_rx_ring(sc_if); + + if_input(ifp, &ml); } void |