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)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Feb 2012 23:26:54 +0000 (18:26 -0500)
commit936d7de3d736e0737542641269436f4b5968e9ef
treed83c1f3ce184202d31ade4fe46e78b6b7100e0ae
parenta1728800bed3b93b231d99e97c756f622b9991c2
IPoIB: Stop lying about hard_header_len and use skb->cb to stash LL addresses

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>
drivers/infiniband/ulp/ipoib/ipoib.h
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_multicast.c