One or more threads/applications/VMs (aka processing unit) that need to receive 
packets from the same interface(s) or exchange packets, should belong to the 
same cluster. Each cluster is identified by a cluster id.

Each queue, backed by either a network device or a software queue, is a 
single-producer single-consumer fifo. This means that a single processing unit 
can read or write buffers at a time. For instance if you need to access the 
same packets coming from an ingress device from multiple processing units, you 
need a distribution thread reading packets from the device (single-consumer) 
and delivering them to multiple software queues (one per consumer).

All the enqueue/dequeue operations (aka send() and recv()) work in zero-copy, 
this means that no packet copy is involved, the library is just playing with 
pointers.

Alfredo

On 05 Aug 2014, at 09:25, lxgeek <[email protected]> wrote:

> hi all:
>      I read some docs about ZC in PF_RING, for examples:
> https://svn.ntop.org/svn/ntop/trunk/PF_RING/userland/examples_zc/README.quickstart
> http://www.ntop.org/pf_ring/introducing-pf_ring-zc-zero-copy/
> https://svn.ntop.org/svn/ntop/trunk/PF_RING/userland/examples_zc/README.examples
> 
> But, I still can't understand the  concept of "cluster", "queue" when those 
> used in the ZC.I want to understand the ZC (zero copy) in PF_RING, so how to 
> do?
> 
> Thank you.
> _______________________________________________
> 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

Reply via email to