summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhu Yanjun <yanjun.zhu@linux.dev>2022-01-06 19:03:59 +0100
committerJason Gunthorpe <jgg@nvidia.com>2022-01-08 00:34:56 +0100
commit104f062fd1b9c8571dba6a3020649da6bbc66259 (patch)
tree7b472cc48579d9173f004be604b5b2e60640362c
parentRDMA/irdma: Make the source udp port vary (diff)
downloadlinux-104f062fd1b9c8571dba6a3020649da6bbc66259.tar.xz
linux-104f062fd1b9c8571dba6a3020649da6bbc66259.zip
RDMA/rxe: Use the standard method to produce udp source port
Use the standard method to produce udp source port. Link: https://lore.kernel.org/r/20220106180359.2915060-5-yanjun.zhu@linux.dev Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
-rw-r--r--drivers/infiniband/sw/rxe/rxe_verbs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c
index 07ca169110bf..915ad6664321 100644
--- a/drivers/infiniband/sw/rxe/rxe_verbs.c
+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c
@@ -468,6 +468,11 @@ static int rxe_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
if (err)
goto err1;
+ if ((mask & IB_QP_AV) && (attr->ah_attr.ah_flags & IB_AH_GRH))
+ qp->src_port = rdma_get_udp_sport(attr->ah_attr.grh.flow_label,
+ qp->ibqp.qp_num,
+ qp->attr.dest_qp_num);
+
return 0;
err1: