On Wed, Jan 05, 2022 at 05:12:37PM -0500, yanjun.zhu@xxxxxxxxx wrote: > From: Zhu Yanjun <yanjun.zhu@xxxxxxxxx> > > Since the UDP source port is modified in rxe_modify_qp, the randomization > for UDP source port is redundant in this function. So remove it. > > Signed-off-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx> > --- > drivers/infiniband/sw/rxe/rxe_qp.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe/rxe_qp.c > index 54b8711321c1..84d6ffe7350a 100644 > --- a/drivers/infiniband/sw/rxe/rxe_qp.c > +++ b/drivers/infiniband/sw/rxe/rxe_qp.c > @@ -210,15 +210,9 @@ static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp, > return err; > qp->sk->sk->sk_user_data = qp; > > - /* pick a source UDP port number for this QP based on > - * the source QPN. this spreads traffic for different QPs > - * across different NIC RX queues (while using a single > - * flow for a given QP to maintain packet order). > - * the port number must be in the Dynamic Ports range > - * (0xc000 - 0xffff). > + /* Source UDP port number for this QP is modified in rxe_qp_modify. > */ This makes me wonder why do we set this src_port here? Are we using this field before modify QP? Thanks > - qp->src_port = RXE_ROCE_V2_SPORT + > - (hash_32_generic(qp_num(qp), 14) & 0x3fff); > + qp->src_port = RXE_ROCE_V2_SPORT; > qp->sq.max_wr = init->cap.max_send_wr; > > /* These caps are limited by rxe_qp_chk_cap() done by the caller */ > -- > 2.27.0 >