> -----Original Message----- > From: Moni Shoua [mailto:monis@xxxxxxxxxxxx] > Sent: Wednesday, June 20, 2018 1:47 AM > To: Parav Pandit <parav@xxxxxxxxxxxx> > Cc: Jason Gunthorpe <jgg@xxxxxxxx>; vijayi@xxxxxxxxxxxxxxxxx; linux-rdma > <linux-rdma@xxxxxxxxxxxxxxx> > Subject: Re: [PATCH] IB/rxe: vary the source udp port for receive scaling > > > However this patch is not correct where it uses random udp source port > number. > > ib_core needs to bind the source udp port number and store it into ib_qp. > > I have been holding that up, due to gid ref count series, so that I can use that > logic for destination and source udp port and store the socket pointer in > ib_gid_attr. > > Once that is available that that can be used by rxe and other drivers. > > However multiple src udp port number has benefits which can be a list per gid > entry as mentioned in this patch. > > Per device would be simpler, but given that we are sharing the device among > multiple namespaces in some cases, having per gid entry is simpler to start with. > I'm not sure that I understand where your'e aiming with changes in ib_core. > This change looks fine to me and I would like to accept it. > When you present your idea we can adapt it if it makes sense to resolving this > problem but until then I would like to have this fix for a real problem that RXE > has. Yes it is a respin request for the below reason (and not the above one). My above comment about udp source port number is in incorrect in this context. We can used hashed udp port, however it should be in dynamic udp port range defined by RFC 6335 [1]. This is dynamic or private udp port range from 49152-65535. Even though RoCEv2 Annex doesn't talk about using this RFC, its good idea to follow good practice from other valid RFCs. Otherwise this hash can pick up well known UDP port number in assigned range. [1] https://tools.ietf.org/html/rfc6335 ��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f