Date: Thu, 23 Dec 1999 12:32:34 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Bill Paul <wpaul@skynet.ctr.columbia.edu> Cc: julian@whistle.com, scottm@CS.UCLA.EDU, jlemon@americantv.com, brad@shub-internet.org, jabley@patho.gen.nz, phk@critter.freebsd.dk, wollman@khavrinen.lcs.mit.edu, current@freebsd.org Subject: Re: Woa! May have found something - 'rl' driver and small packets (was Re: Odd TCP glitches in new currents) Message-ID: <199912232032.MAA07521@apollo.backplane.com> References: <199912231930.OAA11526@skynet.ctr.columbia.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
:Okay, I patched if_rl.c in -current to fixe the problem demonstrated by
:Matt's linktest program. The bug was actually on the receive side of the
:rl driver, not the transmit side. A packet can wrap from the end of the
:RX buffer back to the beginning, and in some cases these packets would
:get lost due to botched use of m_pullup(). I can run the linktest
:program now without losing any frames.
:
:There's another way around this which is to allocate a whole mbuf
:cluster when you know the packet is wrapped and bcopy the data manually
:instead of using m_devget(), but I'm not sure I want to waste a whole
:cluster just for that case.
:
:-Bill
:
:--
:=============================================================================
:-Bill Paul (212) 854-6020 | System Manager, Master of Unix-Fu
Great! Thanks for your help, Bill!
-Matt
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912232032.MAA07521>
