[ofw] incorrect SID generation in WvGetServiceId

Fab Tillier ftillier at microsoft.com
Fri Feb 11 10:40:14 PST 2011


Fab Tillier wrote on Fri, 11 Feb 2011 at 10:25:22

> Hi Sean,
> 
> WvGetServiceId swaps the port number in the sockaddr but shouldn't.  The
> port number in a sockaddr structure is already in network order.  See
> http://msdn.microsoft.com/en-us/library/ff570823(VS.85).aspx, the
> remarks section:
> " All of the data in the SOCKADDR_IN structure, except for the address
> family, must be specified in network-byte-order (big-endian)."

Never mind this, I missed the nesting of the two byteswap calls.  However, the function does not set the IB_REQ_CM_RDMA_SID_PREFIX.  The ND provider SID generation (as well as the logic in the CEP manager for detecting RDMA CM requests) is also busted in that it doesn't swap the SID and thus treats it as a little-endian.

Oy!
-Fab



More information about the ofw mailing list