Hi Igor if you load the interfaces with RSS enabled (let’s say you have 8 producer threads and you load 8 RSS queues per interface), each thread can send directly to its own queue (thread K to RSS queue K), with no need of additional threads. It is recommended to use ZC (new generation of DNA drivers). It is using non-blocking I/O.
Alfredo > On 04 Dec 2014, at 12:25, Igor Romanovich <[email protected]> > wrote: > > Hi, > > PF_RING is great software, but I'm a little puzzled on how to use it. > Suppose an application which has 6-8 CPU-intensive packet producer > threads. Now we want to write the packets produced by these threads to > some multiple 10G network interfaces... > > What is the ideal architecture using PF_RING for high-throughput > transmission? > > These are some options: > > 1- There is a consumer thread for each interface that reads the packets > from a queue, and writes packets to the interface. Producer threads > write packets to the queues of the consumer threads. > > 2- Each producer writes it packets to some ring of each network > interface (without any consumer thread). I know Netmap supports that. > PF_RING has a similar concept of rings, but I'm not sure that it really > utilizes that network device rings. > > 3- Using a pf_ring cluster and multiple fan-in queues, and leaving the > fan-out of the packets to pf_ring. This option is not ideal for me as > pf_ring apparently doesn't support per flow fan-out. > > What architecture do you guys recommend? > Please note the following in your answer: > - What's the architecture? > - Which of PF_RING ZC or PF_RING DNA you are recommending > - Are you using non-blocking I/O or not? > > Thanks for your support. > > Best Regards > _______________________________________________ > Ntop-misc mailing list > [email protected] > http://listgateway.unipi.it/mailman/listinfo/ntop-misc _______________________________________________ Ntop-misc mailing list [email protected] http://listgateway.unipi.it/mailman/listinfo/ntop-misc
