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

Reply via email to