Re: [PATCH] IB/mlx4: Allow to always block UD multicast loopback

Or Gerlitz
2014-04-21T20:44:41Z

On Mon, Apr 21, 2014 at 9:09 PM, Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org> wrote:
> We need this option for many hosts to avoid backflow of multicast
> packages. Could we get that merged?
[...]

> Currently, there's no way for user-space applications to specify
> the IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK QP creation flags
> defined by commit 47ee1b9 "IB/core: Add support for multicast loopback blocking".
> As a result, applications who send and recieve on the same QP over
> the same multicast group get all their packets bouncded back to them,
> which is bad..

Hi Christoph, I do see your P&F (Pain and Frustration), however, this
patch was only meant to be bandaid (*) for the fact that whole ~six
years elapsed since a basically proper patch that does the task was
posted http://lists.openfabrics.org/pipermail/general/2008-July/053021.html
and we still don't have uverbs support for QP creation flags!!

Roland, how you prefer to move on here? we can come up with quick
patch that just uses the reserved field of struct ib_uverbs_create_qp
and would allow to support upto 8 creation flags, this would not
require new uverbs command, OK?

Roland, we must fix this lack of user space to provide creation flags.
The bandaid I did after a whole production system was successfully
rebased to the upstream kernel sans this PITA which I has to solve
quickly in this uglish way.

Or.

(*) this is just bandaid and not for upstream since it touches just
one HW driver, i.e a similar patch you would need for every other HW
driver, and deals with only one QP creation flag.