ipv6: fib6: avoid indirect calls from fib6_rule_lookup
[linux-2.6-microblaze.git] / net / ipv6 / fib6_rules.c
index fafe556..6053ef8 100644 (file)
@@ -111,11 +111,13 @@ struct dst_entry *fib6_rule_lookup(struct net *net, struct flowi6 *fl6,
        } else {
                struct rt6_info *rt;
 
-               rt = lookup(net, net->ipv6.fib6_local_tbl, fl6, skb, flags);
+               rt = pol_lookup_func(lookup,
+                            net, net->ipv6.fib6_local_tbl, fl6, skb, flags);
                if (rt != net->ipv6.ip6_null_entry && rt->dst.error != -EAGAIN)
                        return &rt->dst;
                ip6_rt_put_flags(rt, flags);
-               rt = lookup(net, net->ipv6.fib6_main_tbl, fl6, skb, flags);
+               rt = pol_lookup_func(lookup,
+                            net, net->ipv6.fib6_main_tbl, fl6, skb, flags);
                if (rt->dst.error != -EAGAIN)
                        return &rt->dst;
                ip6_rt_put_flags(rt, flags);
@@ -226,7 +228,8 @@ static int __fib6_rule_action(struct fib_rule *rule, struct flowi *flp,
                goto out;
        }
 
-       rt = lookup(net, table, flp6, arg->lookup_data, flags);
+       rt = pol_lookup_func(lookup,
+                            net, table, flp6, arg->lookup_data, flags);
        if (rt != net->ipv6.ip6_null_entry) {
                err = fib6_rule_saddr(net, rule, flags, flp6,
                                      ip6_dst_idev(&rt->dst)->dev);