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

frank zago fzago at systemfabricworks.com
Wed Feb 6 13:37:04 PST 2008


Fab Tillier wrote:
> Actually, we're in full agreement:
>
> The RKey should always be on the wire in the same, consistent way.  Because the RKey is in the RETH, and is in network order, it makes the most sense to exchange RKeys in network order too.  The difference is that the driver software on Windows and Linux treat the RKey differently.  In Windows it's treated as an opaque value - there's no meaning to swapping it.  In Linux however the implementation expects the RKey to be exchanged in host order across the ABI.  So the Linux software must explicitly swap the RKey it receives from a remote peer, or that it sends to a remote peer, regardless of what OS that remote peer is running.
>
> So the app doesn't need to know what the remote peer is, it just needs to do different things on Windows and Linux to put the same data on the wire.
>
> Make sense?
> -Fab
>   
Arf! Why is linux doing that? That just makes no sense. The value 
returned by the memory registration call should be exactly the same as 
the value that goes on the wire.

Frank.



More information about the ofw mailing list