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.
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw