[ofw] change layout of ib_send_wr for winof 2.0
Leonid Keller
leonid at mellanox.co.il
Mon May 26 01:57:52 PDT 2008
Could you bring an example, when it doesn't work ?
> -----Original Message-----
> From: ofw-bounces at lists.openfabrics.org
> [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Sean Hefty
> Sent: Saturday, May 24, 2008 12:38 AM
> To: Hefty, Sean; ofw at lists.openfabrics.org
> Subject: RE: [ofw] change layout of ib_send_wr for winof 2.0
>
> Unless we separate the atomic operations into a new named
> structure, a simple cast doesn't always work. So at least
> any code using atomics would need a slight modification. If
> I change ib_send_wr in my tree 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_send_opt_t send_opt;
> ib_wr_type_t wr_type;
> ib_net32_t immediate_data;
>
> union
> {
> union _send_dgrm
> {
> struct _send_ud
> {
> ib_av_handle_t h_av;
> ib_net32_t remote_qp;
> ib_net32_t remote_qkey;
> void* rsvd;
> uint16_t pkey_index;
>
> } ud;
>
> struct _send_rd
> {
> ib_net32_t remote_qp;
> ib_net32_t remote_qkey;
> ib_net32_t eecn;
>
> } rd;
>
> struct _send_raw_ether
> {
> ib_net16_t dest_lid;
> uint8_t path_bits;
> uint8_t sl;
> uint8_t max_static_rate;
> ib_net16_t ether_type;
>
> } raw_ether;
>
> struct _send_raw_ipv6
> {
> ib_net16_t dest_lid;
> uint8_t path_bits;
> uint8_t sl;
> uint8_t max_static_rate;
>
> } raw_ipv6;
>
> } dgrm;
>
> struct _send_remote_ops
> {
> uint64_t vaddr;
> net32_t rkey;
>
> } remote_ops;
>
> struct _send_atomic_ops
> {
> uint64_t vaddr;
> ib_net64_t atomic1;
> ib_net64_t atomic2;
> net32_t rkey;
>
> } atomic_ops;
> };
> } ib_send_wr_t;
>
> Then only a uDAPL header file, plus the HW drivers/libraries
> need updating.
>
> - Sean
>
> _______________________________________________
> ofw mailing list
> ofw at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
>
More information about the ofw
mailing list