diff options
author | David S. Miller <davem@davemloft.net> | 2012-06-08 23:24:18 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-08 23:24:18 -0700 |
commit | fbfe95a42e90b3dd079cc9019ba7d7700feee0f6 (patch) | |
tree | f5f16e6efcf1411a47df8b836f669fc452489dd4 /include/net/ip6_route.h | |
parent | 7123aaa3a1416529ce461e98108e6b343b294643 (diff) | |
download | op-kernel-dev-fbfe95a42e90b3dd079cc9019ba7d7700feee0f6.zip op-kernel-dev-fbfe95a42e90b3dd079cc9019ba7d7700feee0f6.tar.gz |
inet: Create and use rt{,6}_get_peer_create().
There's a lot of places that open-code rt{,6}_get_peer() only because
they want to set 'create' to one. So add an rt{,6}_get_peer_create()
for their sake.
There were also a few spots open-coding plain rt{,6}_get_peer() and
those are transformed here as well.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip6_route.h')
-rw-r--r-- | include/net/ip6_route.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 37c1a1e..73d7502 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -53,18 +53,27 @@ static inline unsigned int rt6_flags2srcprefs(int flags) return (flags >> 3) & 7; } -extern void rt6_bind_peer(struct rt6_info *rt, - int create); +extern void rt6_bind_peer(struct rt6_info *rt, int create); -static inline struct inet_peer *rt6_get_peer(struct rt6_info *rt) +static inline struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create) { if (rt->rt6i_peer) return rt->rt6i_peer; - rt6_bind_peer(rt, 0); + rt6_bind_peer(rt, create); return rt->rt6i_peer; } +static inline struct inet_peer *rt6_get_peer(struct rt6_info *rt) +{ + return __rt6_get_peer(rt, 0); +} + +static inline struct inet_peer *rt6_get_peer_create(struct rt6_info *rt) +{ + return __rt6_get_peer(rt, 1); +} + extern void ip6_route_input(struct sk_buff *skb); extern struct dst_entry * ip6_route_output(struct net *net, |