Message ID | 20220105221237.2659462-4-yanjun.zhu@linux.dev (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Generate UDP src port with flow label or lqpn/rqpn | expand |
On Wed, Jan 05, 2022 at 05:12:35PM -0500, yanjun.zhu@linux.dev wrote: > From: Zhu Yanjun <yanjun.zhu@linux.dev> > > Get the source udp port number for a QP based on the grh.flow_label or > lqpn/rqrpn. This provides a better spread of traffic across NIC RX queues. > > Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev> > --- > drivers/infiniband/hw/irdma/verbs.c | 4 ++++ > 1 file changed, 4 insertions(+) > Thanks, Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
> Subject: [PATCH 3/5] RDMA/irdma: Make the source udp port vary > > From: Zhu Yanjun <yanjun.zhu@linux.dev> > > Get the source udp port number for a QP based on the grh.flow_label or > lqpn/rqrpn. This provides a better spread of traffic across NIC RX queues. > > Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev> > --- > drivers/infiniband/hw/irdma/verbs.c | 4 ++++ > 1 file changed, 4 insertions(+) > Acked-by: Shiraz Saleem <shiraz.saleem@intel.com>
diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c index 8cd5f9261692..8234a101e752 100644 --- a/drivers/infiniband/hw/irdma/verbs.c +++ b/drivers/infiniband/hw/irdma/verbs.c @@ -1170,6 +1170,10 @@ int irdma_modify_qp_roce(struct ib_qp *ibqp, struct ib_qp_attr *attr, udp_info->ttl = attr->ah_attr.grh.hop_limit; udp_info->flow_label = attr->ah_attr.grh.flow_label; udp_info->tos = attr->ah_attr.grh.traffic_class; + udp_info->src_port = rdma_get_udp_sport( + udp_info->flow_label, + ibqp->qp_num, + roce_info->dest_qp); irdma_qp_rem_qos(&iwqp->sc_qp); dev->ws_remove(iwqp->sc_qp.vsi, ctx_info->user_pri); ctx_info->user_pri = rt_tos2priority(udp_info->tos);