pf_ring and argus

Peter Van Epp vanepp at sfu.ca
Wed Apr 9 11:25:52 EDT 2008


On Wed, Apr 09, 2008 at 01:16:11PM +0200, Ole Morten Grod?s wrote:
>  Hi
> I'm having some performance problems with my Argus setup. And after reading
> a couple of articles about PF_RING [1,2]. I'm under the impression that
> PF_RING could help with some of my performance problems. I'm about to setup
> a test environment to test the performance gained from using PF_RING. In
> regard to this I was wondering if you had any experience with PF_RING and
> Argus. Are there any known problems? Can I expect a large performance
> improvement?
> 
> I'm currently running Argus 2. Will that result in any problems? There
> reason I'm not switching to Argus 3 is mostly due to stability concerns.
>  I'm also concerned about possible compability issues with my current setup.
> 
> 
> 
> References
> 1. Performance test of packet sniffing architectures
> http://luca.ntop.org/Ring.pdf
> 1 PF_RING User guide
> https://svn.ntop.org/trac/browser/trunk/PF_RING/doc/UsersGuide.pdf?format=raw
> 
> 
> Regards
> Grodaas

	With the caveat that we are possibly back level on pf-ring and 
certainly on SUSE (being on 10.1 rather than 10.3) we have been running pf-ring
for a year or more now on an IBM P510 64 bit PPC machine. 2.0.6 won't run
there, so I haven't tried it with pf-ring but 3.0 works without change so I
expect 2.0.6 will too (pf-ring mimics libpcap). 
	Performance jumps about %50 (the only thing better is Endace DAG cards
 :-)) or more with pf-ring, but I just tried a capture on a saturated gig link 
as part of CAIDA's ditl experiment and results weren't good. The busy side of 
the link (~800 megs the other side is about 500 megs and I was running two 
identical machines, one on each side of a fdx tap) would hang so hard it 
needed a reboot and basically never functioned correctly. Same when I tried 
running argus 3.0 on it with two interfaces on one sensor with disk writes 
going on the other machine. We also have a few quirks (signals don't work 
correctly for instance) which may be because of the dual mods, pf-ring and 
web100 that are in our kernel. 
	The pf-ring code is hard to get in. The kernel mods are extensive and 
when last we did it (probably a year or more ago) the code was for a back 
level kernel and we did it to the then current one but it was exciting. It may 
be that there have been updates in the interrum and its easier now. However if 
I were doing it again I'd probably use Phil Wood's version of memory mapped 
libpcap from:

http://public.lanl.gov/cpw/

I believe Russell is running this and perhaps can comment on how its working. 
I don't believe it needs kernel mods which is a big plus (to be fair we also
have the web100 stuff for ndt in the same kernel which likely doesn't help
a lot ...).
	A late thought strikes: you are running two machines for argus I assume?
The sensor machine has the ethernet cards and argus writing to a socket to 
the archive machine which runs ra reading from the socket and writing the 
archive to disk. At anything above about 100 megs you will lose packets due
to PCI contention on a single machine without DAG cards (which buffer packets
on card and eliminate this issue). If you aren't already in this configuration
thats what I would try first. 

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



More information about the argus mailing list