diff options
author | Jim Rees <rees@cvs.openbsd.org> | 2002-01-31 04:07:39 +0000 |
---|---|---|
committer | Jim Rees <rees@cvs.openbsd.org> | 2002-01-31 04:07:39 +0000 |
commit | f6153cf2525bd3462f8042875b43b84f28cc9450 (patch) | |
tree | 839c630c5d209bd3a6f1f26758eb3a4ce20fdc0f /sys/dev/ic | |
parent | 21d8ae059d2a81f4fd840680b415c5a415385513 (diff) |
zero out csum when re-using mbuf (cures 50% packet loss under load)
angelos@ ok
Diffstat (limited to 'sys/dev/ic')
-rw-r--r-- | sys/dev/ic/elink3.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/ic/elink3.c b/sys/dev/ic/elink3.c index bba31c3f5ce..8f04b0d082c 100644 --- a/sys/dev/ic/elink3.c +++ b/sys/dev/ic/elink3.c @@ -1,4 +1,4 @@ -/* $OpenBSD: elink3.c,v 1.54 2001/09/20 17:02:31 mpech Exp $ */ +/* $OpenBSD: elink3.c,v 1.55 2002/01/31 04:07:38 rees Exp $ */ /* $NetBSD: elink3.c,v 1.32 1997/05/14 00:22:00 thorpej Exp $ */ /* @@ -1244,8 +1244,8 @@ epintr(arg) if (status & S_RX_COMPLETE) epread(sc); if (status & S_TX_AVAIL) { - sc->sc_arpcom.ac_if.if_flags &= ~IFF_OACTIVE; - epstart(&sc->sc_arpcom.ac_if); + ifp->if_flags &= ~IFF_OACTIVE; + epstart(ifp); } if (status & S_CARD_FAILURE) { epreset(sc); @@ -1395,6 +1395,7 @@ epget(sc, totlen) m->m_data = m->m_pktdat; m->m_flags = M_PKTHDR; m_tag_init(m); + m->m_pkthdr.csum = 0; } m->m_pkthdr.rcvif = ifp; m->m_pkthdr.len = totlen; |