[ewg] Re: [PATCH] link-local address fix for rdma_resolve_addr
David J. Wilder
dwilder at us.ibm.com
Fri Oct 16 11:54:39 PDT 2009
On Thu, 2009-10-15 at 15:32 -0600, Jason Gunthorpe wrote:
>
> The actual fixing to the code is not hard, remove rdma_translate_ip,
> addr_resolve_local, split addr_resolve_remote into a part to resolve
> the route and a part that does the arp/nd. Make the route resolve part
> work almost exactly like addr4_resolve_remote (noting that the v6
> version is wrong, since is doesn't respect unset source addres,
> another bug). Call rdma_copy_addr based on the rt->idev->dev (or
> should it be odev??). Do the ARP.
>
> The pain is in retesting everything :|
>
> Jason
There is the wrinkle in this plan. If you pass ip6_route_output() your
own link-local address (scoped or not) it returns a neighbor entry bound
to the loop back device.
$ ip route get fe80::202:c903:1:28ed oif ib0
local fe80::202:c903:1:28ed from :: via :: dev lo table local proto
none src fe80::202:c903:1:28ed metric 0 mtu 16436 advmss 16376
hoplimit 4294967295
Thats not going to work as lo has no RDMA support. I suspect this is
why addr_resolve_local() was added in the first place :)
I will post a patch with our first solution and include the fix to
addr_resolve_local().
Dave.
More information about the ewg
mailing list