[ofa-general] Re: IB/core: Add creation flags to QPs

Hoang-Nam Nguyen HNGUYEN at de.ibm.com
Wed Mar 26 05:03:16 PDT 2008


Hi Or!
> Roland Dreier wrote:
> >  > @@ -505,6 +509,7 @@ struct ib_qp_init_attr {
> >  >     enum ib_sig_type   sq_sig_type;
> >  >     enum ib_qp_type      qp_type;
> >  >     u8         port_num; /* special QP types only */
> >  > +   enum qp_create_flags    create_flags;
> >  >  };
> >
> > I'm dubious about this.  It seems to me like everything (including the
> > mlx4 low-level driver changes for LSO) would be simpler to implement
> > and use if we just extend the qp_type to include IB_QPT_UD_LSO.
> Roland, All,
>
> How about making the qp_type field a bit mask, such that in the ipoib
> LSO use case it would be (UD | LSO) and in the ipoib ehca case (UD |
> LL), etc. The bit mask change would also be propagated up to libibverbs
> and be defined in a way such that it preserves backward compatibility re
> the qp_type field for users of libibverbs that did not changed their
code.
I personally prefer this because we want to providde LL to user space.
Using qp_type's bit fields does not require me to change e.g.
ib_uverbs_create_qp to reflect create_flags from user space, which will
break previous libxyz - currently it's hardcoded to zero in uverbs_cmd.c,
see also
http://lists.openfabrics.org/pipermail/general/2008-March/047960.html

Nam




More information about the general mailing list