diff options
author | David S. Miller <davem@davemloft.net> | 2012-06-10 07:36:36 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-11 11:08:47 +0200 |
commit | 97bab73f987e2781129cd6f4b6379bf44d808cc6 (patch) | |
tree | 40b10c4c021c8b5524c19f79fcfe4b0799b59952 /include/net/ip6_route.h | |
parent | inet: Pass inetpeer root into inet_getpeer*() interfaces. (diff) | |
download | linux-97bab73f987e2781129cd6f4b6379bf44d808cc6.tar.xz linux-97bab73f987e2781129cd6f4b6379bf44d808cc6.zip |
inet: Hide route peer accesses behind helpers.
We encode the pointer(s) into an unsigned long with one state bit.
The state bit is used so we can store the inetpeer tree root to use
when resolving the peer later.
Later the peer roots will be per-FIB table, and this change works to
facilitate that.
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 | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 73d750288121..f88a85cf31c3 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -57,11 +57,11 @@ extern void rt6_bind_peer(struct rt6_info *rt, int create); static inline struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create) { - if (rt->rt6i_peer) - return rt->rt6i_peer; + if (rt6_has_peer(rt)) + return rt6_peer_ptr(rt); rt6_bind_peer(rt, create); - return rt->rt6i_peer; + return rt6_peer_ptr(rt); } static inline struct inet_peer *rt6_get_peer(struct rt6_info *rt) |