Since we're bumping the ABI/API, does anyone see any issues with changing the
layout of ib_send_wr?  It would end up being terribly convenient if you could
cast between the OFED ib_send_wr and WinOF ib_send_wr, especially since the HW
drivers and libraries are derived from the OFED stack.  This avoids translating
structures in the speed path.

For example, change from:

typedef struct _ib_send_wr
{
        TO_LONG_PTR(struct _ib_send_wr* ,       p_next) ;
        uint64_t                                        wr_id;
        ib_wr_type_t                            wr_type;
        ib_send_opt_t                           send_opt;
        uint32_t                                        num_ds;
        TO_LONG_PTR(ib_local_ds_t* ,            ds_array) ;
        ib_net32_t                                      immediate_data;
        ...

to

typedef struct _ib_send_wr
{
        uint64_t                                        wr_id;
        struct _ib_send_wr*                     *p_next;
        ib_local_ds_t                           *ds_array;
        uint32_t                                        num_ds;
        ib_wr_type_t                            wr_type;
        ib_send_opt_t                           send_opt;
        ib_net32_t                                      immediate_data;
        ...

The field names remain the same.  ULPs only need to recompile.  If no one
disagrees, I will do this after the latest set of patches hit the trunk.

- Sean

_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to