[ofa-general] Re: pick the outgoing HCA based on the IP used for bind

Sean Hefty sean.hefty at intel.com
Thu Feb 12 16:09:01 PST 2009


>	It seems that even when the rdma-cm consumer binds to a specific
address,
>	the rdma-cm address resolution code follows the order of the
>devices/rules
>	in routing table. So the user can't really dictate an outgoing interface
>	based on the src address provided to rdma_resolve_addr.
>
>Did you had the chance to look into that?

I'm running 2.6.28 with 1 HCA with 2 ports.  I added debug output around calls
to rdma_translate_ip() and cma_acquire_dev().  The short answer is that things
appear to work as expected.

ib0 is on port 1 - 192.168.0.102
ib1 is on port 2 - 192.168.0.122

If I run ucmatose -b ip_addr (with or without -s option), I see that
rdma_translate_ip() returns different net_device structures for the different
input addresses.  cma_acquire_dev() also indicates that different ports on the
same HCA are being used for the two addresses.

If I unplug one of the ports, I can no long connect if I use the IP address that
corresponds to that port, but the other port still works.  It doesn't matter
which port I unplug, as long as I use the correct IP address.

- Sean




More information about the general mailing list