<br clear="all">Hello all,<div>         </div><div>       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.</div>
<div>      When i tried searching for the root of the cause, i found that <b>sk_rcvqueues_full(sk,skb) </b>returns true after receiving 300 packets, further observing the cause i found that the variable <b>sk_rmem_alloc</b> which is being checked in the function in never getting decremented.</div>
<div><br></div><div><a href="http://www.pubbs.net/200912/kernel/700-seeing-strange-values-for-tcp-skrmemalloc.html">http://www.pubbs.net/200912/kernel/700-seeing-strange-values-for-tcp-skrmemalloc.html</a></div><div><br></div>
<div><a href="http://www.pubbs.net/200912/kernel/700-seeing-strange-values-for-tcp-skrmemalloc.html"></a>In the above link i found that some one had similar problem, and as it says calling <b>skb_copy_datagram_iovec()</b> should decrement the <b>sk_rmem_alloc</b>, am even doing that. So can some suggest what can be the problem. One more strange thing is <b>sk_queue_empty(&amp;sk-&gt;receive_queue)</b> start returning true after 300 packet.<br>
<div><br></div><div><br>---------------------------------------------------<br>Thanking You,<br>Sugnan Prabhu S<div><a href="http://sugnanprabhu.blogspot.com/" target="_blank">http://sugnanprabhu.blogspot.com/</a></div><br>

</div></div>