Hi Behrooz
your application is not fast enough dequeueing packets from the ring, thus the 
drops.
You should try increasing the ring size (via insmod parameter), it helps at 
least with spikes.

Alfredo

> On 06 Nov 2014, at 23:01, Behrooz Shafiee <[email protected]> wrote:
> 
> Hello Pavel,
>   
>  I'm not sure what do you mean but here is the output of to during run:
> 
> top - 16:58:48 up  2:27,  8 users,  load average: 0.25, 0.59, 0.81
> Tasks: 211 total,   4 running, 207 sleeping,   0 stopped,   0 zombie
> %Cpu(s):  7.3 us,  7.1 sy,  0.0 ni, 84.6 id,  0.2 wa,  0.8 hi,  0.0 si,  0.0 
> st
> KiB Mem:  16334304 total,  5330972 used, 11003332 free,   112164 buffers
> KiB Swap: 10207228 total,        0 used, 10207228 free.  2101892 cached Mem
> 
> I just realized that if I use pfring_stats  when I receive the whole 5000 
> packet the number of drops is 0 and when I don't receive all of them the 
> number of drops in the stats is around 2000-3000.
> 
> On Thu, Nov 6, 2014 at 4:54 PM, Pavel Odintsov <[email protected] 
> <mailto:[email protected]>> wrote:
> Hello!
> 
> Could you show top header and htop output?
> 
> On Fri, Nov 7, 2014 at 12:48 AM, Behrooz Shafiee <[email protected] 
> <mailto:[email protected]>> wrote:
> > Hi everyone,
> >
> >  I have implemented a small transmission protocol over pfring. I rely on the
> > Ethernet flow control meaning that I assume that in the same subnet I won't
> > loose any packet (I've no router so no queueing...). Everything was fine
> > until I did some stress test as follows.
> > I have a rcvThread which block on pfring_recv() function for each one
> > incoming packet and process it. I start a huge number of other threads(e.g
> > 5000) and each of them send a req to server through pfring_send (resp is one
> > packet). And then server replies with 5000 packet. most of the time i
> > receive the 5000 packets but sometimes I miss some of them. For example I
> > reach the line after pfring_recv() 4503 times. I thought this is due to
> > overflow in the NIC but I use intel pro which has both rx/tx flow pause
> > frame on and I actually used a packet dump tool (such as wireshark) and I
> > see the packets are being received by the NIC. So I assume they get lost
> > somewhere a long the line from NIC to pfring_recv() function. Can anyone
> > help me what might have gone wrong?
> >
> > PS. I use pfring in normal mode not DNA
> >
> >
> > Thanks,
> > --
> > Behrooz
> >
> > _______________________________________________
> > Ntop-misc mailing list
> > [email protected] <mailto:[email protected]>
> > http://listgateway.unipi.it/mailman/listinfo/ntop-misc 
> > <http://listgateway.unipi.it/mailman/listinfo/ntop-misc>
> 
> 
> 
> --
> Sincerely yours, Pavel Odintsov
> _______________________________________________
> Ntop-misc mailing list
> [email protected] <mailto:[email protected]>
> http://listgateway.unipi.it/mailman/listinfo/ntop-misc 
> <http://listgateway.unipi.it/mailman/listinfo/ntop-misc>
> 
> 
> 
> -- 
> Behrooz
> _______________________________________________
> 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