[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