Hi, Rupa /David Ahern,
First, thanks for this patch set!
Second, it seems to me that something might be incorrect here.
You have these additions in this patch (1/8):
...
+struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4
*flp,
+ const struct sk_buff *skb,
+ struct fib_result *res);
...
+struct rtable *ip_route_output_key_hash(struct net *net, struct flowi4 *fl4,
+ const struct sk_buff *skb)
+{
+ struct fib_result res;
+ struct rtable *rth;
+
+ res.tclassid = 0;
+ res.fi = NULL;
+ res.table = NULL;
+
+ rcu_read_lock();
+ rth = ip_route_output_key_hash_rcu(net, fl4, &res, mp_hash);
rcu_read_unlock();
+
return rth;
}
-EXPORT_SYMBOL_GPL(__ip_route_output_key_hash);
+EXPORT_SYMBOL_GPL(ip_route_output_key_hash);
So the third parameter to ip_route_output_key_hash_rcu() should be skb*, and
the fourth parameter should be fib_result *. However, you do not pass the skb
parameter
when calling ip_route_output_key_hash_rcu() in
ip_route_output_key_hash() (in fact you don't use it at all), and you pass
mp_hash as the fourth parameter.
Regards,
Rami Rosen
Intel Corporation