diff options
author | Denis Drozdov <denisd@mellanox.com> | 2018-07-29 11:42:28 +0300 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-08-01 15:23:03 -0600 |
commit | 75da96067ade4e7854379ec2f7834f3497652b1a (patch) | |
tree | c2d53306b5adefede056c4e352dceac8d6714097 /drivers/infiniband/hw/hns/hns_roce_db.c | |
parent | 0f50d88a6e9ae6d9dd14ed1a7d6b309280a9c23b (diff) | |
download | linux-75da96067ade4e7854379ec2f7834f3497652b1a.tar.gz |
IB/IPoIB: Set ah valid flag in multicast send flow
The change of ipoib_ah data structure with adding "valid" flag and
checks of ah->valid in ipoib_start_xmit affected multicast packet flow.
Since the multicast flow doesn't invoke path_rec_start, "ah->valid" flag
remains unset, so that ipoib_start_xmit end up with neigh_refresh_path
instead of sending the packet using neigh.
"ah->valid" has to be set in multicast send flow. As a result IPoIB
starts sending packets via neigh immediately and eliminates 60sec delay
of neigh keep alive interval.
The typical example of this issue are two sequential arpings:
arping 11.134.208.9 -> got response (mcast_send)
arping 11.134.208.9 -> no response (ah->valid = 0)
Fixes: fa9391dbad4b ("RDMA/ipoib: Update paths on CLIENT_REREG/SM_CHANGE events")
Signed-off-by: Denis Drozdov <denisd@mellanox.com>
Reviewed-by: Erez Shitrit <erezsh@mellanox.com>
Reviewed-by: Feras Daoud <ferasda@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/hw/hns/hns_roce_db.c')
0 files changed, 0 insertions, 0 deletions