On Mon, 2015-04-27 at 17:16 -0700, Tom Talpey wrote:
On 4/27/2015 2:52 PM, ira.weiny wrote:
On Mon, Apr 27, 2015 at 09:39:05AM +0200, Michael Wang wrote:
On 04/24/2015 05:12 PM, Liran Liss wrote:
[snip]
Like:
enum rdma_protocol {
RDMA_PROTOCOL_IB,
RDMA_PROTOCOL_IBOE,
RDMA_PROTOCOL_IWARP,
RDMA_PROTOCOL_USNIC_UDP
};
So we could use query_protocol() to ask device provide the protocol
type, and there will be no mixing with the legacy transport type
anymore :-)
I'm ok with that. I like introducing a unique namespace which is clearly
different from the previous "transport" one.
I agree the word "transport" takes things into the weeds.
But on the topic of naming protocols, I've been wondering, is there
some reason that "IBOE" is being used instead of "RoCE"?
Because back in the day, when RoCE was accepted into the kernel, I'm
pretty sure it was prior to the IBTA's final stamp of approval and
before the name was set on RoCE, so IBoE was chosen upstream as the more
"correct" name because it properly denoted what it was deemed to truly
be: IB Verbs over Ethernet.
Also wondering, why add "UDP" to USNIC, is there a different USNIC?
Yes, there are two transports, one a distinct ethertype and one that
encapsulates USNIC in UDP.
Naming multiple layers together seems confusing and maybe in the end
will create more code to deal with the differences. For example, what
token will RoCEv2 take? RoCE_UDP, RoCE_v2 or ... ?
Uncertain as of now.