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

Reply via email to