Re: [PATCH rdma-next 00/13] Elastic Fabric Adapter (EFA) driver

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

 



On 05-Dec-18 22:45, Parav Pandit wrote:
> 
> 
>> -----Original Message-----
>> From: linux-rdma-owner@xxxxxxxxxxxxxxx <linux-rdma-
>> owner@xxxxxxxxxxxxxxx> On Behalf Of Jason Gunthorpe
>> Sent: Wednesday, December 5, 2018 2:03 PM
>> To: Hefty, Sean <sean.hefty@xxxxxxxxx>
>> Cc: Dalessandro, Dennis <dennis.dalessandro@xxxxxxxxx>; Gal Pressman
>> <galpress@xxxxxxxxxx>; Doug Ledford <dledford@xxxxxxxxxx>; Alexander
>> Matushevsky <matua@xxxxxxxxxx>; Yossi Leybovich
>> <sleybo@xxxxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx; Tom Tucker
>> <tom@xxxxxxxxxxxxxxxxxxxxx>
>> Subject: Re: [PATCH rdma-next 00/13] Elastic Fabric Adapter (EFA) driver
>>
>> On Wed, Dec 05, 2018 at 07:14:28PM +0000, Hefty, Sean wrote:
>>>>>> As far as usnic, it seems like its the driver that has been
>>>> forgotten about.
>>>>>> I see 3 commits in 2018. I'm not saying it's important or not,
>>>> that's
>>>>>> another debate for another thread.
>>>>>
>>>>> There are alot more than three, and all of them are from non-Cisco
>>>>> people trying to maintain this driver. Many are mine.
>>>>>
>>>>> This is not a plus, it shows why this approach is a burden on the
>>>> rest
>>>>> of the community.
>>>>
>>>> That's the point I was beating around the bush about. As a community
>>>> we don't need any fire and forget drivers where it gets upstreamed
>>>> and abandoned.
>>>
>>> usNIC is a very simple device.  I'm not sure you can assume that it
>>> isn't used or was forgotten just because it's done.  I do know that it
>>> is actively maintained on the user space side, even if it doesn't need
>>> anything more from the kernel.
>>
>> The driver still had security bugs I had to fix.
>>
>> I'm not sure it follows our security model (I have this guess it actually needs
>> CAP_NET_RAW)
>>
>> This is all bad.
> 
> I was about to reply same comment for 9th patch for function rdma_link_layer efa_port_link_layer() which says its Ethernet.
> But I see your reply already,  replying here.
> Ethernet link layer has well defined L2 headers.
> So there is intention to create such headers in user space without actually netdev->ifindex attached to UD or SRC QP, CAP_NET_RAW must be added.

There is no intention to create headers in userspace, this is done by the device
hence no need to add CAP_NET_RAW.
The physical link layer is Ethernet, but for all practical purposes it shouldn't
matter to the driver/userspace provider.

> Kernel cannot depend on external network's robustness, even though it may be.
> Same for the rx path too.
> 
>>
>>> I agree that exposing usNIC through verbs was wrong.  However, as a
>>> device, I don't see that it's that functionally different than QIB,
>>> truescale, or hfi1.  None of those are verbs devices, and throwing a
>>> software verbs implementation over them doesn't really change that.
>>
>> The Linux standard that has evolved is that a common verbs driver can
>> provide extensions beyond verbs through the driver private interface and
>> still be 'drivers/infiniband'
>>
>> This makes sense in all cases so far as the extensions lean heavily on the
>> core code to work properly, ie for addressing/security/etc.
>>
>> QIB/HFI are sort of marginal exceptions since their extension was not
>> designed well as a proper extension, but that is more of a technical failing
>> than a philosophical one.
>>
>> So at the userspace level psm/psm2/ucx may be distinct non-verbs things,
>> but in the kernel we largely treat them as verbs extensions.
>>
>>>> Now if we do want to say a driver must support verbs it can't be
>>>> wishy-washy. We should specify exactly the set of verbs that must be
>>>> supported. The IBTA has the notion of some mandatory verbs right, so
>>>> should that be the low bar? Should we whittle that down further?
>>>
>>> If you go this path, rename the subsystem to linux-verbs or
>>> linux-ibverbs.
>>
>> It *is* the verbs subsystem - that is the only API it provides to the rest of the
>> kernel today.
>>
>>> However, if the subsystem will support exposing non-verbs interfaces
>>> (usnic, psm, psm2), then I disagree with placing a requirement that
>>> the driver must also provide a software implementation of verbs over
>>> it.
>>
>> This is what I mean when I talked about evolution earlier. If want to do non-
>> verbs then do it right, not as a special QP hack like usnic did.
>>
>> Jason



[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