Hi Mahdi 1. this is a side effect of quick_mode, that it is instructing pf_ring to use short packet headers in PF_RING/kernel/pf_ring.c:4865 pfr->header_len = quick_mode ? short_pkt_header : long_pkt_header; while a long packet header is a prerequisite for the pfring_send_last_rx_packet to work.
2. There is no race condition here, because userspace sets the egress interface before releasing the slot (i.e. before the next call to pfring_recv). Best Regards Alfredo On 12 Jan 2014, at 07:35, Mahdi Dashtbozorgi <[email protected]> wrote: > Hello, > > I found the source of first problem. I seems that pfring_send_last_rx_packet > function won't work when quick_mode=1 > When I changed the quick_mode=0, everything is working just fine! > Is there any solution to enable this function when quick mode is enabled? And > does the race condition I mentioned in the second question exists between > user and kernel space processes? > > Best Regards, > Mahdi. > > > > On Sat, Jan 11, 2014 at 12:16 PM, Mahdi Dashtbozorgi <[email protected]> wrote: > Hello all, > > I am trying to add PF_RING support for suricata IPS (inline) mode. > At the first step, I have decided to test the performance of pfbridge > application. For this purpose I started pfsend on a pc, bfbridge on another > pc and pfcount application on the third pc. > > pfsend pc -----> pfbridge pc ------> pfcount pc > > I am using Intel NIC 82576 with PF_RING aware igb 5.0.6 driver with 8 queues. > When I use -p option with pfbridge, every thing is just working fine and > pfcount receives the packets generated by pfsend. > To reach better performance, I decided not to use -p option and use > pfring_send_last_rx_packet function. But although pfbridge application > reports the pps correctly, no packets are received by pfcount application! > > 1. Is there any problem with igb and pfring_send_last_rx_packet? > 2. I am suspicious about some race condition on this situation. If pfbridge > application, takes some time for processing the received packet, does kernel > space function 'consume_pending_pkts' waits for its decision to send the > packet? or it just clears the slot and calling 'pfring_send_last_rx_packet' > function has no effect at all? > > Best Regards, > Mahdi. > > _______________________________________________ > 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
