Re: [PATCH v6 01/26] IB/Verbs: Implement new callback query_transport()

From: Dave Goodell (dgoodell)
Date: Tue Apr 28 2015 - 15:50:56 EST


On Apr 28, 2015, at 1:14 AM, Hefty, Sean <sean.hefty@xxxxxxxxx> wrote:

>>> Keep in mind that this enum was Liran's response to Michael's original
>>> patch. In the enum in Michael's patch, there was both USNIC and
>>> USNIC_UDP.
>>
>> Right! That's why I'm confused. Seems wrong to drop it, right?
>
> I think the original USNIC protocol is layered directly over Ethernet. The protocol basically stole an Ethertype (the one used for IBoE/RoCE) and implemented a proprietary protocol instead. I have no idea how you resolve that, but I also don't think it's used anymore. USNIC_UDP is just UDP.

Sean is correct. The legacy RDMA_TRANSPORT_USNIC code used a proprietary protocol over plain Ethernet frames. The newer RDMA_TRANSPORT_USNIC_UDP code is just standard UDP/IP/Ethernet packets exposed to user space via the uverbs stack. The current kernel module will support both formats, it just depends on which user space requests at create_qp time. From the kernel point of view there is no common protocol between the two TRANSPORTs (other than sharing partially similar Ethernet frames at L2).

I posted last week to clarify some of this: http://marc.info/?l=linux-rdma&m=142972177830718&w=2

>> Well, if RoCEv2 uses the same protocol enum, that may introduce new
>> confusion, for example there will be some new CM handling for UDP encap,
>> source port selection, and of course vlan/tag assignment, etc. But if
>> there is support under way, and everyone is clear, then, ok.
>
> RoCEv2/IBoUDP shares the same port space as UDP. It has a similar issues as iWarp does sharing state with the main network stack. I'm not aware of any proposal for resolving that. Does it require using a separate IP address? Does it use a port mapper function? Does netdev care for UDP? I'm not sure what USNIC does for this either, but a common solution between USNIC and IBoUDP seems reasonable.

Is the concern here about CM issues or the UDP ports used by the actual usNIC RQs? CM is not used/supported for usNIC at this time.

-Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/