linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Move the definitions for rxe_av.network_type to uAPI
@ 2020-10-16 20:20 Bob Pearson
  2020-10-16 20:31 ` Jason Gunthorpe
  0 siblings, 1 reply; 2+ messages in thread
From: Bob Pearson @ 2020-10-16 20:20 UTC (permalink / raw)
  To: Jason Gunthorpe, linux-rdma

Jason,

Your recent commit:

	commit e0d696d201dd5d31813787d9b61a42fc459eee89
	Author: Jason Gunthorpe <jgg@ziepe.ca>
	Date:   Thu Oct 15 20:42:18 2020 -0300

	RDMA/rxe: Move the definitions for rxe_av.network_type to uAPI

has some problems and so far I am having trouble making it work sensibly.

What you have done is to make the network_type field in rxe_av be private,
(i.e. RXE_NETWORK_TYPE_XXX instead of RDMA_NETWORK_XXX). You then defined these
private enums in rdma_uverbs_rxe.h. The problem is that there are more than one
source of AVs those:

	passed in user space send WQEs for UD traffic
	passed from kernel ULPs for UD traffic
	stored in the primary AV in QPs

The AVs created in the kernel get set by calling rdma_gid_attr_network_type()
which returns RDMA_NETWORK_XXX not RXE_NETWORK_TYPE_XXX. This can be fixed by
again making them the same, which you didn't do, but that means they really aren't
private. Or, we can explicitly translate between them in the AV init code.

No rush but I still think the right answer is to let user space only have to deal
with AHs and not AVs.

There was also a confusion between V6 and V4. I will submit a small patch that
fixes that and makes the enums the same again which is more efficient than transocding
them.

Bob

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-10-16 20:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-16 20:20 Move the definitions for rxe_av.network_type to uAPI Bob Pearson
2020-10-16 20:31 ` Jason Gunthorpe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).