Skip to contentSkip to conversation

Handling receive packets with limited buffer space

DISCUSSION Amit Uttamchandani 2 participants 2 messages Mar 19, 2010 – Mar 20, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

In my modified ethoc.c driver, I am using only one receive buffer descriptor due to limited space. This works fairly well for small packets (arp, pings, etc.).

However, doing a 'wget' and downloading a file causes lots of drops and thus results in a terminated connection.

How do I go about dealing with this? I tried stopping the queue (netif_stop_queue) while I'm processing the rx skb and then resuming it once I'm done, but this did not seem to help.

Any ideas on this?

Thanks for any help.
Amit

#1 lore raw
Quoted 4 lines · Amit Uttamchandani

In my modified ethoc.c driver, I am using only one receive buffer descriptor due to limited space. This works fairly well for small packets (arp, pings, etc.).

Quoted 8 lines

However, doing a 'wget' and downloading a file causes lots of drops and thus results in a terminated connection.

How do I go about dealing with this? I tried stopping the queue (netif_stop_queue) while I'm processing the rx skb and then resuming it once I'm done, but this did not seem to help.

Any ideas on this?

You'll need to allocate a new skb and copy into it before passing the data up the stack.

-Andi

Signature · 1 line
[email protected] -- Speaking for myself only.