aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/inetpeer.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-06-09 19:27:05 -0400
committerDavid S. Miller <davem@davemloft.net>2012-06-09 19:27:05 -0400
commitc3426b47190d7c6785230c91a706fd42208b4120 (patch)
tree5444acfb2ef8a59c46e580cda8101c32fd3c2973 /include/net/inetpeer.h
parent2397849baa7c44c242e5d5142d5d16d1e7ed53d0 (diff)
inet: Initialize per-netns inetpeer roots in net/ipv{4,6}/route.c
Instead of net/ipv4/inetpeer.c Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/inetpeer.h')
-rw-r--r--include/net/inetpeer.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h
index 20e67db69ac9..5a96c8edc526 100644
--- a/include/net/inetpeer.h
+++ b/include/net/inetpeer.h
@@ -65,6 +65,14 @@ struct inet_peer {
65 atomic_t refcnt; 65 atomic_t refcnt;
66}; 66};
67 67
68struct inet_peer_base {
69 struct inet_peer __rcu *root;
70 seqlock_t lock;
71 int total;
72};
73
74extern void inet_peer_base_init(struct inet_peer_base *);
75
68void inet_initpeers(void) __init; 76void inet_initpeers(void) __init;
69 77
70#define INETPEER_METRICS_NEW (~(u32) 0) 78#define INETPEER_METRICS_NEW (~(u32) 0)
@@ -105,6 +113,7 @@ static inline struct inet_peer *inet_getpeer_v6(struct net *net,
105extern void inet_putpeer(struct inet_peer *p); 113extern void inet_putpeer(struct inet_peer *p);
106extern bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout); 114extern bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout);
107 115
116extern void __inetpeer_invalidate_tree(struct inet_peer_base *);
108extern void inetpeer_invalidate_tree(struct net *net, int family); 117extern void inetpeer_invalidate_tree(struct net *net, int family);
109 118
110/* 119/*