[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120206.145652.1575591691467905094.davem@davemloft.net>
Date: Mon, 06 Feb 2012 14:56:52 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: roland@...nel.org
Cc: eric.dumazet@...il.com, ogerlitz@...lanox.com,
sean.hefty@...el.com, herbert@...dor.hengli.com.au,
linux-rdma@...r.kernel.org, shlomop@...lanox.com,
netdev@...r.kernel.org
Subject: Re: [PATCH net-next V2] gro: introduce gro_mac_header_len
From: David Miller <davem@...emloft.net>
Date: Mon, 06 Feb 2012 14:51:48 -0500 (EST)
> From: David Miller <davem@...emloft.net>
> Date: Mon, 06 Feb 2012 14:32:30 -0500 (EST)
>
>> From: Roland Dreier <roland@...nel.org>
>> Date: Mon, 6 Feb 2012 11:23:21 -0800
>>
>>> Does the netdev driver own skb->cb between hard_header
>>> and start_xmit? If so we could use that instead of stealing
>>> some header space, and that would at least let us not lie
>>> about hard_header_len.
>>
>> Unfortunately the packet scheduler sits between the hard_header()
>> call (via neigh_*_output() --> dev_hard_header()) and when the
>> device xmit method is invoked.
>>
>> And the packet scheduler can make use of the skb->cb[], for
>> include/net/sch_generic.h:qdisc_skb_cb
>
> Actually there is a way to make this work.
>
> Define your ipoib_skb_cb something like:
>
> struct ipoib_skb_cb {
> struct qdisc_skb_cb qdisc_cb;
>
> ... ipoib stuff goes here ...
> };
>
> That way you can use the SKB cb area for your ipoib info
> without interfering with the packet scheduler.
But this needs a little bit of work since the qdisc_skb_cb ends with a
variable length array, but we can put an upper bound on this just like
we do for skb->cb[] itself to fix this issue.
I'll toss something together.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists