[Ntop-misc] Routing packets
Gabe.Black at jdsu.com
Thu Sep 30 22:27:14 CEST 2010
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.
More information about the Ntop-misc