RDMA/hns: Get udp sport num dynamically instead of using a fixed value
authorWeihang Li <liweihang@huawei.com>
Fri, 21 Aug 2020 09:31:29 +0000 (17:31 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 31 Aug 2020 15:03:17 +0000 (12:03 -0300)
commit074bf2c2c7a1f5722eabccee7d919fe20ada0cda
tree5c29bb35884612ffa784b40d4f97ce409739ef9e
parent5f9e2822d12fe5050da5db0e65924d5ddc86bf29
RDMA/hns: Get udp sport num dynamically instead of using a fixed value

The UDP source port number in RoCE v2 is used to create entropy for
network routers (ECMP), load balancers and 802.3ad link aggregation
switching that are not aware of RoCE IB headers. Considering that the IB
core has achieved a new interface to get a hashed value of it, the fixed
value of it in QPC and UD WQE in hns driver could be fixed and the port
number is to be set dynamically now.

For QPC of RC, the value could be hashed from flow_lable if the user pass
it in or from remote qpn and local qpn. For WQE of UD, it is set according
to fl or as a random value.

Link: https://lore.kernel.org/r/1598002289-8611-1-git-send-email-liweihang@huawei.com
Signed-off-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_ah.c
drivers/infiniband/hw/hns/hns_roce_device.h
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
include/rdma/ib_verbs.h