[ofa-general] Re: [PATCH 3/3 v4] ib/ipoib: blocking multicast loopback ipoib packets

Jack Morgenstein jackm at dev.mellanox.co.il
Sun Jul 6 00:16:28 PDT 2008


On Friday 04 July 2008 01:04, Or Gerlitz wrote:
> I can't take this, we think that creation flags can be a good way to
> go wrt minimizing ABI changes, I am not enough into the XRC impl to
> tell why creation flags are not used there.
> 
XRC was added as a new QP type, because it is a separate, distinct qp type
which allows an RC QP to send directly to an SRQ, rather than to an RC QP.

Knowledge that we are dealing with XRC QPs needs to be maintained
in the core layer beyond just QP creation time (e.g., ib_destroy_qp() needs
this information to decrement the xrc domain usecount when an XRC
QP is destroyed), so that using a creation flag for this is not clean.

Regarding the creation flag for XRC RCV QPs, I think I can (and should) get rid of
it. It is only used by ib_uverbs_create_xrc_rcv_qp() to indicate to the
low-level driver that we're creating an xrc receive qp, not a regular xrc
qp (the caller NEVER sets this flag).  ib_uverbs_create_xrc_rcv_qp()
also invokes the low-level driver's create_xrc_rcv_qp function, so that
this flag is clearly unneeded (the low-level driver can "remember" that it
is dealing with an XRC receive qp by just setting a flag internal to its
own qp object, and not a qp creation flag.

- Jack



More information about the general mailing list