-/* $OpenBSD: i82596.c,v 1.40 2014/12/22 02:28:51 tedu Exp $ */
+/* $OpenBSD: i82596.c,v 1.41 2015/05/01 16:37:32 mpi Exp $ */
/* $NetBSD: i82586.c,v 1.18 1998/08/15 04:42:42 mycroft Exp $ */
/*-
MGETHDR(m0, M_DONTWAIT, MT_DATA);
if (m0 == 0)
return (0);
- m0->m_pkthdr.rcvif = &sc->sc_arpcom.ac_if;
m0->m_pkthdr.len = totlen;
len = MHLEN;
m = m0;
{
struct ifnet *ifp = &sc->sc_arpcom.ac_if;
struct mbuf *m;
+ struct mbuf_list ml = MBUF_LIST_INITIALIZER();
u_int16_t bstart, bend;
int pktlen;
}
#endif
-#if NBPFILTER > 0
- /* Check for a BPF filter; if so, hand it up. */
- if (ifp->if_bpf)
- bpf_mtap(ifp->if_bpf, m, BPF_DIRECTION_IN);
-#endif /* NBPFILTER > 0 */
-
- /*
- * Finally pass this packet up to higher layers.
- */
- ether_input_mbuf(ifp, m);
+ ml_enqueue(&ml, m);
ifp->if_ipackets++;
+
+ if_input(ifp, &ml);
return (0);
}