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]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc

Reply via email to