possible rkey byteswap (was Re: [ofw] what's up with the OFAWindows project?)

frank zago fzago at systemfabricworks.com
Wed Feb 6 14:22:27 PST 2008


Fab Tillier wrote:
> The RKey is always an opaque value - it only has meaning to the HCA hardware, and is used in combination with the PD of the QP on which the RETH is received to do the address translation.  It's a token, and should be treated as such.  It cannot be interpreted by anything other than the HW/driver that generated it.  The value really should never be manipulated outside of the HCA hardware domain (which includes the HW and the HW-specific driver).
>
> -Fab
The rkey cannot be opaque. You register a memory region on windows, get 
a rkey, send it to a big endian linux and a little endian linux host.  
Both try to use it, and one of them will fail.

I think the application must know what format is this rkey, so they can 
pass it along while keeping its byte order property. If all IB stacks 
return the rkey in network order, and accept  rkey also in network 
order, then there is no interop problem anymore.

Frank.



More information about the ofw mailing list