Re: Move the definitions for rxe_av.network_type to uAPI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jason,

Your recent commit:

	commit e0d696d201dd5d31813787d9b61a42fc459eee89
	Author: Jason Gunthorpe <jgg@xxxxxxxx>
	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



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux