ipv4: Set rt->rt_iif more sanely on output routes.
authorDavid S. Miller <davem@davemloft.net>
Sat, 5 Mar 2011 05:35:25 +0000 (21:35 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 5 Mar 2011 05:35:25 +0000 (21:35 -0800)
rt->rt_iif is only ever inspected on input routes, for example DCCP
uses this to populate a route lookup flow key when generating replies
to another packet.

Therefore, setting it to anything other than zero on output routes
makes no sense.

Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/route.c

index 9794a2c..602473c 100644 (file)
@@ -2381,7 +2381,7 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
        rth->fl.mark    = oldflp->mark;
        rth->rt_dst     = fl->fl4_dst;
        rth->rt_src     = fl->fl4_src;
-       rth->rt_iif     = oldflp->oif ? : dev_out->ifindex;
+       rth->rt_iif     = 0;
        /* get references to the devices that are to be hold by the routing
           cache entry */
        rth->dst.dev    = dev_out;