]> git.karo-electronics.de Git - karo-tx-linux.git/commit
IPoIB: Stop lying about hard_header_len and use skb->cb to stash LL addresses
authorRoland Dreier <roland@purestorage.com>
Tue, 7 Feb 2012 14:51:21 +0000 (14:51 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Mar 2012 00:33:45 +0000 (16:33 -0800)
commitaca5efd17c1a1ed6303537792517e7352cf74edd
tree7f05fdb94bc1c48bdaf578e31d94bce00144dbe1
parentc3e8445f6ec4ad66c5143d6df8528f7440429b91
IPoIB: Stop lying about hard_header_len and use skb->cb to stash LL addresses

[ Upstream commit 936d7de3d736e0737542641269436f4b5968e9ef ]

Commit a0417fa3a18a ("net: Make qdisc_skb_cb upper size bound
explicit.") made it possible for a netdev driver to use skb->cb
between its header_ops.create method and its .ndo_start_xmit
method.  Use this in ipoib_hard_header() to stash away the LL address
(GID + QPN), instead of the "ipoib_pseudoheader" hack.  This allows
IPoIB to stop lying about its hard_header_len, which will let us fix
the L2 check for GRO.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/infiniband/ulp/ipoib/ipoib.h
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_multicast.c