[openib-general] RDMA connection and address translation API

Fab Tillier ftillier at silverstorm.com
Wed Aug 24 10:47:32 PDT 2005


> From: Roland Dreier [mailto:rolandd at cisco.com]
> Sent: Wednesday, August 24, 2005 10:16 AM
> 
>     Fab> Knowledge of actual IP addresses would be up to the consumer.
>     Fab> However, the IB CM can facilitate checks by allowing the user
>     Fab> to specify an offset and length in the private data to match
>     Fab> to for incoming requests.
> 
> This seems too complex and at the same time too limited to me.  For
> one thing -- although I think ATS should die -- this doesn't support
> ATS reverse lookups.

I think if all ULPs provide their source and destination IP in the private data,
you can eliminate the reverse lookup altogether.  A simple forward lookup is all
that's needed to validate that the source GID in the REQ matches the reported
source IP in the private data.  The forward lookup could be done via ATS or via
ARP, but the CM doesn't need to care which method is used.
 
> For another, it doesn't handle something like
> the SDP Hello header, where the IP version is at a certain offset, and
> then the IP address is interpreted according to the IP address.

Why can't the IPV field be ignored?  If a listen wants only IPV4 addresses, it
would specify a 16-byte compare buffer with the first 12 bytes zero, the next 4
filled with the IPV4 address, and would set the offset to that of the hello
message's destination address (32).

> What makes it really ugly is that it's perfectly reasonable for one
> consumer to listen to a service at 192.168.11.12 and another consumer
> to listen to the same service at 192.168.98.99.  How do we handle this
> in the IB case??

As long as the service IP address (the local address on the listening side) is
always advertised in the same place in the private data, this isn't a problem.
The compare lengths and offsets would be identical for both services, but the
compare buffer contents would differ.  Did I miss what you were getting at?

- Fab




More information about the general mailing list