On Mon, Jul 11, 2005 at 07:44:47PM -0700, David S. Miller wrote: > From: Andi Kleen <[EMAIL PROTECTED]> > Date: 12 Jul 2005 04:25:49 +0200 > > > What other plans do have? I think a lot of stuff could be moved > > into ->cb, in particular tc_* and the HIPPI field. > > See: > > http://vger.kernel.org/~davem/net_todo.html > > there is an entry entitled "SKBs are too large", it lists > our exact plans.
While reading through this some more comments: >> # skb->real_dev, it is used in one place, in bonding device. Suggestion is to remove it and replace with an ugly per-cpu static variable (but still less ugly than keeping a useless pointer in struct sk_buff) We can add per-cpu variable real_dev, save real_dev there and bonding can fetch it from there. The trick relies on the fact that real_dev can be forgotten after we leave softirq handler. << You can just put it into ->cb while bond is active. >> skb->h is really useless and can be eliminated immediately. The only place where it is really used is checksumming offload on output. skb->h is used there to mark the beginning of area to checksum, the idea was to support offload for protocols other than TCP and UDP. Given that this generality is not used, it can be replaced with direct parsing of IP header. << I would rather add an u16 header_offset field instead of adding header parsing code in all drivers. With some other fields being u16 there should be enough padding for that. -Andi - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html