> Subject: [PATCH 1/1] RDMA/irdma: Make the source udp port vary > > From: Zhu Yanjun <yanjun.zhu@xxxxxxxxx> > > Based on the link https://www.spinics.net/lists/linux-rdma/msg73735.html, > get the source udp port number for a QP based on the local QPN. This provides a > better spread of traffic across NIC RX queues. The method in the commit > d3c04a3a6870 ("IB/rxe: vary the source udp port for receive > scaling") is stable. So it is also adopted in this commit. > > Signed-off-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx> > --- > drivers/infiniband/hw/irdma/verbs.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c > index 102dc9342f2a..2697b40a539e 100644 > --- a/drivers/infiniband/hw/irdma/verbs.c > +++ b/drivers/infiniband/hw/irdma/verbs.c > @@ -690,6 +690,11 @@ static int irdma_cqp_create_qp_cmd(struct irdma_qp > *iwqp) > return status ? -ENOMEM : 0; > } > > +static inline u16 irdma_get_src_port(struct irdma_qp *iwqp) { > + return 0xc000 + (hash_32_generic(iwqp->ibqp.qp_num, 14) & 0x3fff); } > + There are core hash function helpers based on the grh.flow_label or lqpn/rqrpn that RoCEv2 drivers could use the to get the UDP src port? https://elixir.bootlin.com/linux/v5.16-rc5/source/include/rdma/ib_verbs.h#L4719 Why don't we use them instead to set the udp_info->src_port in irdma_modify_qp_roce when the path address vector is provided? Shiraz