[openib-general] [Bug 325] New: RDMA_CM and address translation broken on sles9sp3
Steve Wise
swise at opengridcomputing.com
Fri Jan 26 09:24:28 PST 2007
On Fri, 2007-01-26 at 09:15 -0800, Caitlin Bestler wrote:
> openib-general-bounces at openib.org wrote:
> > https://bugs.openfabrics.org/show_bug.cgi?id=325
> >
> > Summary: RDMA_CM and address translation broken on sles9sp3
> > Product: OpenFabrics Linux
> > Version: 1.2
> > Platform: X86-64
> > OS/Version: SLES 9
> > Status: NEW
> > Severity: critical
> > Priority: P2
> > Component: RDMA CM
> > AssignedTo: bugzilla at openib.org
> > ReportedBy: swise at opengridcomputing.com
> >
> >
> > rdma_translate_ip() and friends use
> > ip_dev_find(local_ip_addr) to obtain a net_device pointer.
> > Then the device type is used to determine if the rdma
> > address is iwarp or infiniband.
> >
> > On sles9sp3, ip_dev_find(local_ip_addr) is returning the
> > loopback device. This causes rmda_copy_addr() to fail.
>
> I suspect that this is the most obvious case of a more
> general problem. Specifically there is a higher priority
> route to the destinatiaon IP address that is not RDMA
> capable.
>
We're not doing a routing lookup here. We're just trying to find the
local netdev that has a particular ip address bound to it.
> Essentially the selected route needs to be considered
> "down" for RDMA traffic, so the less preferred route
> can be taken.
>
> The more specific problem could be addressed by making
> the loopback device support OFA verbs, but since nobody
> sells loopback devices there might not be a rush of
> volunteers.
>
ip_dev_find() shouldn't really be using the routing table IMO. It is
supposed to find the netdev device that has a given ip address bound to
it.
> The other issue is that there may always be remote IP
> addresses that are reachable for non-RDMA traffic but
> not for RDMA traffic. All it takes is two network interfaces
> that connect to two networks that have no routes between
> them where one of them is not RDMA capable. Machines that
> have Ethernet ports dedicated to an administrative network
> are one obvious example.
>
> Ultimately that step suggests that the test should not
> be "if the rdma address is iwarp or infiniband" but "iwarp,
> infiniband or not RDMA accessible".
More information about the general
mailing list