[Ntop-misc] Routing packets

Gabe Black Gabe.Black at jdsu.com
Thu Sep 30 22:27:14 CEST 2010


Hello,

I came across PF_RING and TNAPI via my search to find how to get the most performance out of a packet routing application that I am developing.  Essentially the application is to receive UDP packets from a variety of network "probes" and retransmit the packet to a location based on information within the packet payload.  I am trying to achieve line rates (1Gbs right now) for both receiving and sending; but am falling short.  The hardware I believe is plenty capable (dual quad core Xeon processors with Intel 82571EB 1Gig enet controllers); but I believe I am hitting bottlenecks described by the PF_RING and TNAPI documents.  I am fairly new to networking and I think I have discovered with my simple producer consumer model that most of the time is being sent signaling and sharing buffer queues between my threads rather than receiving and sending packets; hence my online search.

I understand that for TNAPI I would need one of the newer Ethernet controllers, however, I am concerned with one of the TNAPI faqs:
Q. Is TNAPI useful for general-purpose networking?
A. No. TNAPI is NOT designed for general purpose networking but ONLY for passive packet capture.

Does this mean that PF_RING/TNAPI would not be recommended for what I am trying to accomplish?  I was using just normal bsd-style sockets before in my threading model; is there something else available that works better (and has better kernel/network card support) if PF_RING/TNAPI is not recommended? 

Any advice would be greatly appreciated.

Thanks,
Gabe Black



More information about the Ntop-misc mailing list