]> git.baikalelectronics.ru Git - kernel.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)
committerDoug Ledford <dledford@redhat.com>
Tue, 7 Jun 2016 14:49:48 +0000 (10:49 -0400)
commit5899522385c9b0242047bb40bc694faed8c1d725
treed690bdcbafdce9aefa4defd18aa86ee245073440
parent4945bc45cfc3f2a8f3ba30aefc9ec577b87ad7b6
IB/IPoIB: Don't update neigh validity for unresolved entries

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: 0c33600d854e ("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>
drivers/infiniband/ulp/ipoib/ipoib_main.c