]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
IB/IPoIB: Don't update neigh validity for unresolved entries
authorErez Shitrit <erezsh@mellanox.com>
Sat, 4 Jun 2016 12:15:19 +0000 (15:15 +0300)
committerWilly Tarreau <w@1wt.eu>
Sat, 27 Aug 2016 09:40:22 +0000 (11:40 +0200)
commit0c3c7f4ca967fffa78c53a3ba154aed20fb60048
tree3eaabbbd0ec5e228ba56a657c3eb1a5580e1b0ca
parent55ac348c6481882218cc2ba6713bc8fb972dcf3d
IB/IPoIB: Don't update neigh validity for unresolved entries

commit 61c78eea9516a921799c17b4c20558e2aa780fd3 upstream.

ipoib_neigh_get unconditionally updates the "alive" variable member on
any packet send.  This prevents the neighbor garbage collection from
cleaning out a dead neighbor entry if we are still queueing packets
for it.  If the queue for this neighbor is full, then don't update the
alive timestamp.  That way the neighbor can time out even if packets
are still being queued as long as none of them are being sent.

Fixes: b63b70d87741 ("IPoIB: Use a private hash table for path lookup in xmit path")
Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/infiniband/ulp/ipoib/ipoib_main.c