public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* sk_buff handling in packet handler
@ 2009-05-17  0:55 Mark Smith
  2009-05-17 17:23 ` Claude Robitaille
  2009-05-19 22:41 ` Claude Robitaille
  0 siblings, 2 replies; 6+ messages in thread
From: Mark Smith @ 2009-05-17  0:55 UTC (permalink / raw)
  To: clauder; +Cc: netdev

Hi Claude,

You could have a look at my Ethernet Configuration Testing Protocol
(ECTP) implementation. I followed what other protocols did regarding
packet/skb handling, and also tried to make it very clear what was
required, as I struggled a bit with similar issues that you are. The
routine to start with is ectp_rcv().

http://lwn.net/Articles/330797/

Regards,
Mark.

^ permalink raw reply	[flat|nested] 6+ messages in thread
* sk_buff handling in packet handler
@ 2009-05-16 16:31 Claude Robitaille
  2009-05-16 20:19 ` Evgeniy Polyakov
  0 siblings, 1 reply; 6+ messages in thread
From: Claude Robitaille @ 2009-05-16 16:31 UTC (permalink / raw)
  To: netdev

[-- Attachment #1: Type: text/plain, Size: 1235 bytes --]

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
 

[-- Attachment #2: clauder.vcf --]
[-- Type: text/x-vcard, Size: 176 bytes --]

begin:vcard
fn:Claude Robitaille
n:Robitaille;Claude
email;internet:clauder@accedian.com
tel;work:514-764-0119
tel;cell:514-796-7225
x-mozilla-html:TRUE
version:2.1
end:vcard


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-05-19 22:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-17  0:55 sk_buff handling in packet handler Mark Smith
2009-05-17 17:23 ` Claude Robitaille
2009-05-18  5:38   ` Stephen Hemminger
2009-05-19 22:41 ` Claude Robitaille
  -- strict thread matches above, loose matches on Subject: below --
2009-05-16 16:31 Claude Robitaille
2009-05-16 20:19 ` Evgeniy Polyakov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox