Re: Network buffer allocation

From: Eli Carter (eli.carter@inet.com)
Date: Thu Sep 20 2001 - 09:34:37 EST


Tobin Park wrote:
>
> Hello,
> I am a newbie of linux kernel and studying network kernel source.
> when network device driver receives packet and allocates buffer,
> what is the default size of allocation?
> and is there any reallocation happened when upper layer(ip/tcp) manipulates
> buffer which was allocated by device driver?

You like to jump in the deep end, I see.

You might want to look at LINUX IP Stacks Commentary by Satchell and
Clifford (Coriolis). It covers 2.0, but it might prove helpful anyway.
(Also look into the device driver book, kernelnewbies.org, and the
like...)

I'm not sure about a default allocation size... I'm not sure if there is
one.

But as for the reallocation in the upper layers, usually it doesn't. (I
think there are some cases where it may have to, but we want to avoid it
when we can.) From my knowledge of 2.2.x, you'll want to look at how
that is avoided by using skb_push(), skb_pull(), skb_trim(),
skb_reserve(), etc.
skb_copy() and skb_clone() may also be of interest.

HTH, and good luck!

Eli
--------------------. Real Users find the one combination of bizarre
Eli Carter \ input values that shuts down the system for days.
eli.carter(a)inet.com `-------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Sep 23 2001 - 21:00:38 EST