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 20:50:01 +0000 (15:50 -0500)
commit377cb4f9e763465984b9bb5187747fd9b02a14c0
treee5da6d7e7737db80a7b33b398f9de521c32d0a75
parent8c1a7f5283e72306d1d23524f051501ffa1baf57
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