[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A0EEA60.6090702@accedian.com>
Date: Sat, 16 May 2009 12:31:28 -0400
From: Claude Robitaille <clauder@...edian.com>
To: netdev@...r.kernel.org
Subject: sk_buff handling in packet handler
Hi all,
My question is a development question so I hope this is the correct list
to post it. If not just tell me and I will find another list...
I am developing a packet handler that I register via dev_add_pack. All
is fine except that after a while the kernel crashes. I suspect my
handler not doing something correct...
The handler is registered with the ETH_P_ALL list, listening on a
specific interface.
After many attempt at reducing the scope of what my handler is doing I
now simply do a return in my handler. When I send lots of frames to
interface that I am listening to after a while I start getting kernel
messages about low memory and eventually even get exception dumps.
I suspect that the handler needs to do something with the sk_buff but I
am not sure what. I printed the content of the sk_buff and found that
the skb_buff is not cloned (looking on the web I had found that the
sk_buff should have been cloned) and that he number of users is 1.
Should I simply do a dev_kfree_skb? What are the rules governing the use
of the sk_buff in a packet handler? Should I clone the sk_buff?
Also, a related question, the packet handler is expected to return an
int. What should be returned?
Thanks
Claude
View attachment "clauder.vcf" of type "text/x-vcard" (177 bytes)
Powered by blists - more mailing lists