netdev
[Top] [All Lists]

Re: ip_build_xmit() skb_reserve() problem

To: kuznet@xxxxxxxxxxxxx
Subject: Re: ip_build_xmit() skb_reserve() problem
From: Gleb Natapov <gleb@xxxxxxxxxxx>
Date: Thu, 24 Aug 2000 06:32:41 +0000
Cc: Neal Nuckolls <nn@xxxxxxxxxxxx>, netdev@xxxxxxxxxxx
Organization: NBase-Xyplex
References: <200008231827.WAA00968@ms2.inr.ac.ru>
Sender: owner-netdev@xxxxxxxxxxx
kuznet@xxxxxxxxxxxxx wrote:
>
[...]
> 
> I repeat: if device wants more memory, it must give hint in hard_header_len.
> If it prefers conspiracy, let it to copy in secret. 8)

Unfortunately a 'dev' that you use when you reserve 
(dev->hard_header_len + 15) & ~15) bytes in the skb may be not the same
device that actually transmits packet (netfilter may reroute packet to
another device for instance). Thus dev->hard_header() can't really
assume that there is enough space for hardware header in the skb.
hard_header() should always check that there is sufficient space in
headroom if it doesn't do this it's a bug.

So in current situation the hard_header_len as a hint to upper layers is
useless :(

--
                        Gleb.

<Prev in Thread] Current Thread [Next in Thread>