[ARGUS] A concrete packet loss example :-)

Peter Van Epp vanepp at sfu.ca
Sat Oct 16 18:58:45 EDT 2004


	Well a look at the kernel source is illuminating :-). I suspect the 
problem is in the SK driver. It implements local buffers for jumbo frames
(which I'm using) and issues ENOBUFS in a few places (a few too many places
for my comfort in fact) and I expect those ENOBUFS are one cause of an rx error
incrementing somewhere in there. If I can figure out how to make it log a hit 
on those somewhere I may have found my driver packet loss (which is the first 
step, other than the "10 x the number of buffers and see what breaks" which I 
also may try). As well it allocates 512 tx buffers and 256 rx buffers in card 
memory, since I don't do no stinkin tx, I see 768 (or maybe 760 and 8) rx 
buffers in my future :-) It may also be profitable (possible may be something 
else :-)) to chop the jumbo frame down to the 128 or 196 bytes argus wants on 
its way to the bpf interface (or ideally on the card before DMA) if that isn't 
already done. This would leave a very strange but probably very fast driver if 
you only want to sniff and may be useful as an option beside the current real 
sk driver available by kernel config for sniffing machines. 
	I've got the feeling this whole operation may take a while because its 
getting complex (and in to an area where I haven't played before) but we will 
see how it goes, and in any case it should be fun :-).

Peter Van Epp / Operations and Technical Support 
Simon Fraser University, Burnaby, B.C. Canada



More information about the argus mailing list