Re: [PATCH net-next V2] gro: introduce gro_mac_header_len
From: David Miller <hidden>
Date: 2012-02-06 19:56:52
Also in:
linux-rdma
From: David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> Date: Mon, 06 Feb 2012 14:51:48 -0500 (EST)
From: David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> Date: Mon, 06 Feb 2012 14:32:30 -0500 (EST)quoted
From: Roland Dreier <redacted> Date: Mon, 6 Feb 2012 11:23:21 -0800quoted
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_cbActually 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 linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html