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

From: Dave Goodell (dgoodell)
Date: Tue Apr 28 2015 - 16:26:40 EST


On Apr 28, 2015, at 2:53 PM, Hefty, Sean <sean.hefty@xxxxxxxxx> wrote:

>> Is the concern here about CM issues or the UDP ports used by the actual
>> usNIC RQs?
>
> UDP port space sharing

For the UDP port used by the usNIC QP, the usnic_verbs kernel driver requires user space to pass a file descriptor of a regular UDP socket down at create_qp time. The reference count on this socket is incremented to make sure that the socket can't disappear out from under us. Then an RX filter is installed in the NIC which matches UDP/IP/Ethernet packets that are destined for the UDP port to which the given socket is already bound. So there is a real UDP socket to make most of the usual things happen in the net stack, but the raw UDP/IP/Ethernet packets get delivered directly to the user space queues by the NIC. E.g., "netstat" and "lsof" show you proper addressing information, though obviously any information related to data-path statistics will not be accurate. At teardown we just reverse the steps.

However, I'm not sure if that's the sort of information you were looking for.

-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/