On Tue, Apr 25, 2000 at 01:12:40AM +0200, David S. Miller wrote:
> Date: Mon, 24 Apr 2000 23:46:23 +0200
> From: Andi Kleen <ak@xxxxxx>
> This moves the shaper local data into the skb->cb struct, removing
> ugly ifdefs from the sk_buff. I also documented the purpose of
> the control buffer better. For 2.3.x.
> I really like this.
> Just one question, did you verify that this won't clobber CB data
> used by whoever generated the packet? Just say yes, and if I see
> no other objections I'll put this into the tree.
Actually I didn't (because I ``knew'' that only TCP/IP uses it),
but of course i was wrong: econet and decnet use it. econet does
not queue, and decnet seems to always call skb_clone() before
submitting. Other than that I cannot find any other cb users.
> I know intuitively that once, for example, tcp_transmit_skb has
> built the TCP header the control block can be clobbered by any
> further usage. We should really document this, at least in a
> comment above that function.
I documented it in skbuff.h (``is owned by whoever has the skb queued'')
BTW, the hippi private fields should be probably moved there too.
> Sounds like something which would be nice to audit in our tree.
Done (with grep, hopefully I didn't miss anything)
This is like TV. I don't like TV.