[ewg] Re: [PATCH] link-local address fix for rdma_resolve_addr
Jason Gunthorpe
jgunthorpe at obsidianresearch.com
Wed Oct 21 16:36:39 PDT 2009
On Wed, Oct 21, 2009 at 04:17:01PM -0700, Sean Hefty wrote:
> This doesn't end up doing the same thing as what resolve_local did. It only
> matches up with the 'else if' portion below:
It does all the behaviors, it passes the input into a routing lookup
- though it is true the source needs to be passed into the routing
lookup, which I think David had in another patch. Dave; I guess you
need to include that here now.
So, first case:
> >- if (ipv4_is_zeronet(src_ip)) {
Looks like:
$ ip route get 10.0.0.11
local 10.0.0.11 dev lo src 10.0.0.11
cache <local> mtu 16436 advmss 16396 hoplimit 64
trips through the if == loopback and does
'rdma_translate_ip(10.0.0.11)'
Same as the old code (little different path, but seems to give the
same result)
Second case:
> >- } else if (ipv4_is_loopback(src_ip)) {
Looks like:
$ ip route get 10.0.0.11 from 127.0.0.1
local 10.0.0.11 from 127.0.0.1 dev lo
cache <local> mtu 16436 advmss 16396 hoplimit 64
so trips through the if == loopback and does rdma_translate_ip(10.0.0.11)
Same as the old code
Third case:
> >- } else {
$ ip route get 10.0.0.11 from 10.0.0.11
local 10.0.0.11 from 10.0.0.11 dev lo
cache <local> mtu 16436 advmss 16396 hoplimit 64
Again, does rdma_translate_ip(10.0.0.11)
And the weird case is different:
$ ip route get 10.0.0.11 from 192.168.122.1
local 10.0.0.11 from 192.168.122.1 dev lo
cache <local> mtu 16436 advmss 16396 hoplimit 64
(192.168.122.1 is bound to a different device on my system than
10.0.0.11)
The new case trips the if == loopback and does
rdma_translate_ip(10.0.0.11)
The old case does rdma_translate_ip(192.168.122.1)
I don't think this is a significant difference, both behaviors are
reasonable choices and the code/complexity savings are worth it, IMHO.
[Alternatively, I suppose one could call rdma_translate_ip(rt->rt_src)
and if that fails then do rdma_translate_ip(dst_in) but why bother?]
Jason
More information about the ewg
mailing list