Re: [RFC PATCH 1/5] IB/core: Add Core Capability flags to ib_device

Dave Goodell (dgoodell)
2015-05-11T22:19:29Z

On May 8, 2015, at 8:32 PM, Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:

> On Tue, 2015-05-05 at 20:22 +0000, Dave Goodell (dgoodell) wrote:
>>
>> In the case that usNIC is operating in UDP mode (which is the
>> overwhelming majority of the cases), there is absolutely no additional
>> protocol that ends up on the wire or headers in the user buffers
>> besides UDP/IP/Ethernet. They are 100% plain UDP packets, they just
>> happen to be sent via OS-bypass queues instead of traveling through the
>> kernel networking stack.
>>
>> [^^^^^ there continues to be confusion about this for some reason, but
>> I don't know why]
>
> I really need to just sit down and read your driver front to back.

Feel free to ping me off-list if you want any explanation about what's going on in the usnic_verbs module. I'm happy to help.

> The
> confusion probably comes from people (such as myself) that first think
> about this and go "Well, if you have multiple queue pairs, and UDP, then
> you need a header to tell what QP a packet goes to" (which assumes a
> RoCE like usage of UDP where all packets go to the same UDP address)
> where your actual usage is probably more iWARP like in that the IP/UDP
> SRC/DST combo maps to a specific QP, right?

I don't know much about the details of iWARP, but yes, a UDP/IP src/dst port combo maps to a specific QP when using USNIC_UDP QPs. We do _not_ use a single well-known port.

-Dave