[NETNS]: Add namespace parameter to ip_dev_find.
in_dev_find() need a namespace to pass it to fib_get_table(), so add an argument. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
010278ec4c
commit
1ab352768f
@@ -2282,14 +2282,14 @@ static int ip_route_output_slow(struct rtable **rp, const struct flowi *oldflp)
|
||||
goto out;
|
||||
|
||||
/* It is equivalent to inet_addr_type(saddr) == RTN_LOCAL */
|
||||
dev_out = ip_dev_find(oldflp->fl4_src);
|
||||
dev_out = ip_dev_find(&init_net, oldflp->fl4_src);
|
||||
if (dev_out == NULL)
|
||||
goto out;
|
||||
|
||||
/* I removed check for oif == dev_out->oif here.
|
||||
It was wrong for two reasons:
|
||||
1. ip_dev_find(saddr) can return wrong iface, if saddr is
|
||||
assigned to multiple interfaces.
|
||||
1. ip_dev_find(net, saddr) can return wrong iface, if saddr
|
||||
is assigned to multiple interfaces.
|
||||
2. Moreover, we are allowed to send packets with saddr
|
||||
of another iface. --ANK
|
||||
*/
|
||||
|
Reference in New Issue
Block a user