RDMA/rxe: Use the standard method to produce udp source port
authorZhu Yanjun <yanjun.zhu@linux.dev>
Thu, 6 Jan 2022 18:03:59 +0000 (13:03 -0500)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 7 Jan 2022 23:34:56 +0000 (19:34 -0400)
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>
drivers/infiniband/sw/rxe/rxe_verbs.c

index 07ca169..915ad66 100644 (file)
@@ -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: