[ofw] changes to ib_wc committed to svn

Sean Hefty sean.hefty at intel.com
Thu Jul 31 09:55:46 PDT 2008


Please do not change the layout of struct ib_wc from what's in SVN.  The
structure format aligns with both the winverbs and libibverbs work completion
structures.  This allows applications that are already coded to use libibverbs
to more easily port to windows without suffering any performance penalty for
fast path operations.  See below for details:

 

The structure ib_ca_attr_t alread contains the field ipoib_csum (according to
your request).
The structure ib_wc_t will look as:

typedef struct _ib_wc
{
        TO_LONG_PTR(struct _ib_wc* ,    p_next) ;
        uint64_t                                wr_id;
        ib_wc_type_t                    wc_type;

        uint32_t                                length;
        ib_wc_status_t                  status;
        uint64_t                                vendor_specific;



Please keep this as wc_type, length, vendor_specific, then status to avoid
compiler padding because of a misaligned 64-bit value.


        union _wc_recv
        {
                struct _wc_conn
                {
                        ib_recv_opt_t   recv_opt;
                        ib_net32_t              immediate_data;

                }       conn;

                struct _wc_ud
                {
                        ib_recv_opt_t   recv_opt;
                        ib_net32_t              immediate_data;
                        ib_net32_t              remote_qp;
                        uint16_t                pkey_index;
                        ib_net16_t              remote_lid;
                        uint8_t         remote_sl;
                        uint8_t         path_bits;
                        uint8_t           csum_ok;

                }       ud;

                struct _wc_raw_ipv6
                {
                        ib_net16_t              remote_lid;
                        uint8_t                 remote_sl;
                        uint8_t                 path_bits;

                }       raw_ipv6;

                struct _wc_raw_ether
                {
                        ib_net16_t              remote_lid;
                        uint8_t                 remote_sl;
                        uint8_t                 path_bits;
                        ib_net16_t              ether_type;

                }       raw_ether;

        }       recv;

}       ib_wc_t;

> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080731/a4904455/attachment.html>


More information about the ofw mailing list