IPoIB: Free ipoib neigh on path record failure so path rec queries are retried
authorRoland Dreier <roland@purestorage.com>
Mon, 25 Feb 2013 17:42:15 +0000 (09:42 -0800)
committerRoland Dreier <roland@purestorage.com>
Mon, 25 Feb 2013 17:42:15 +0000 (09:42 -0800)
commitf72dd56690aba26fc87fc64e98dd4cc66f27122c
treed45e0844368ad44e5c4565e3d68b77ee18b92252
parent5a2815f03c0fd5a091c95af93b7f1a17a971ac20
IPoIB: Free ipoib neigh on path record failure so path rec queries are retried

If IPoIB fails to look up a path record (eg if it tries during an SM
failover when one SM is dead but the new one hasn't taken over yet), the
driver ends up with a neighbour structure but no address handle (AH).
There's no mechanism to recover from this: any further packets sent to
this destination will be silently dumped in ipoib_start_xmit().

Fix this by freeing the neighbour structures when a path rec query
fails, so that the next packet queued to be sent will trigger a new path
record query.

Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/ulp/ipoib/ipoib_main.c