Hi Pavel
in kernel-bypass mode (zc) packet parsing happens in userspace anyway (inline 
in your processing thread), 
thus you can call pfring_parse_pkt() in your callback. If you want to spread 
load you should use multiple threads/processes
with RSS or custom (software) distribution (zbalance_ipc)

Alfredo

> On 21 Oct 2014, at 09:46, Pavel Odintsov <[email protected]> wrote:
> 
> Hello, folks!
> 
> I tried to use zc mode in my AntiDDoS toolkit
> (https://github.com/FastVPSEestiOu/fastnetmon) and I use PF_RING
> packets parser because it's very fast and reliable.
> 
> I use PF_RING in old fashion way:
> pfring_loop(pf_ring_descr, parse_packet_pf_ring, (u_char*)NULL,
> wait_for_packet);
> 
> When I enable zc mode (change from eth3 to zc:eth3) I see alГ packets
> but PF_RING's packet parser did not work totally.
> 
> I found this in documentation:
> pfring_open() flag: Disable packet parsing also when 1-copy is used.
> (parsing already disabled in zero-copy)
> 
> But I can't find any way to enable parser in ZC mode. Surely, I can
> call parser manually:
> pfring_parse_pkt((u_char*)p, (struct pfring_pkthdr*)h, 5, 0, 0);
> 
> But this way is not ok because standard parser work in multiple
> threads and correctly spread load for all cores but when I call
> pfring_parse_pkt manually it's eat whole core.
> 
> Could I enable PF_RING packet parser for ZC mode?
> 
> -- 
> Sincerely yours, Pavel Odintsov
> _______________________________________________
> 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