Hello all,
I have written a network driver, address family and a protocol family, when i create a socket in a user space program to my PF and AF, it receives only first 300 packets and i see that all the packets are being received till the function sk_recieve_skb() is called.
When i tried searching for the root of the cause, i found that sk_rcvqueues_full(sk,skb) returns true after receiving 300 packets, further observing the cause i found that the variable sk_rmem_alloc which is being checked in the function in never getting decremented.
In the above link i found that some one had similar problem, and as it says calling skb_copy_datagram_iovec() should decrement the sk_rmem_alloc, am even doing that. So can some suggest what can be the problem. One more strange thing is sk_queue_empty(&sk->receive_queue) start returning true after 300 packet.
---------------------------------------------------
Thanking You,
Sugnan Prabhu S
---------------------------------------------------
Thanking You,
Sugnan Prabhu S
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies