Messages in this thread | | | Date | Fri, 17 Oct 2014 10:08:01 +0200 | From | Stephan von Krawczynski <> | Subject | How to find the correct source address to a destination in a kernel driver? |
| |
Hello all,
in former kernels with routing cache things were easy. We just used :
rt = ip_route_output_key(XXX) src = rt->rt_src;
Now if there is no routing cache, we tried this:
rt = ip_route_output_key(XXX) src = inet_select_addr(rt->dst.dev, dst, RT_SCOPE_UNIVERSE);
Unfortunately this does not work with interfaces having multiple ip addresses and the routing in question is not over the first configured ip. How do I get the correct src for all possible cases?
-- Regards, Stephan
| |