net: ipv4: refactor __ip_route_output_key_hash
A later patch wants access to the fib result on an output route lookup with the rcu lock held. Refactor __ip_route_output_key_hash, pushing the logic between rcu_read_lock ... rcu_read_unlock into a new helper with the fib_result as an input arg. To keep the name length under control remove the leading underscores from the name and add _rcu to the name of the new helper indicating it is called with the rcu read lock held. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
5dafc87f40
commit
3abd1ade67
@@ -113,13 +113,16 @@ struct in_device;
|
||||
int ip_rt_init(void);
|
||||
void rt_cache_flush(struct net *net);
|
||||
void rt_flush_dev(struct net_device *dev);
|
||||
struct rtable *__ip_route_output_key_hash(struct net *net, struct flowi4 *flp,
|
||||
const struct sk_buff *skb);
|
||||
struct rtable *ip_route_output_key_hash(struct net *net, struct flowi4 *flp,
|
||||
const struct sk_buff *skb);
|
||||
struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *flp,
|
||||
struct fib_result *res,
|
||||
const struct sk_buff *skb);
|
||||
|
||||
static inline struct rtable *__ip_route_output_key(struct net *net,
|
||||
struct flowi4 *flp)
|
||||
{
|
||||
return __ip_route_output_key_hash(net, flp, NULL);
|
||||
return ip_route_output_key_hash(net, flp, NULL);
|
||||
}
|
||||
|
||||
struct rtable *ip_route_output_flow(struct net *, struct flowi4 *flp,
|
||||
|
Reference in New Issue
Block a user