aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2008-11-12 03:53:30 -0500
committerDavid S. Miller <davem@davemloft.net>2008-11-12 03:53:30 -0500
commit8f424b5f32d78b4f353b3cddca9804808ef063eb (patch)
tree4e481fd6ed7ab82c5d70c30a66842fa432065f64
parent9eca0a47dee201a73967026985b5f0a79a46bd36 (diff)
net: Introduce read_pnet() and write_pnet() helpers
This patch introduces two helpers that deal with reading and writing struct net pointers in various network structures. Their implementation depends on CONFIG_NET_NS For symmetry, both functions work with "struct net **pnet". Their usage should reduce the number of #ifdef CONFIG_NET_NS, without adding many helpers for each network structure that hold a "struct net *pointer" Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/net_namespace.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index 700c53a3c6fa..319557789a40 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -192,6 +192,24 @@ static inline void release_net(struct net *net)
192} 192}
193#endif 193#endif
194 194
195#ifdef CONFIG_NET_NS
196
197static inline void write_pnet(struct net **pnet, struct net *net)
198{
199 *pnet = net;
200}
201
202static inline struct net *read_pnet(struct net * const *pnet)
203{
204 return *pnet;
205}
206
207#else
208
209#define write_pnet(pnet, net) do { (void)(net);} while (0)
210#define read_pnet(pnet) (&init_net)
211
212#endif
195 213
196#define for_each_net(VAR) \ 214#define for_each_net(VAR) \
197 list_for_each_entry(VAR, &net_namespace_list, list) 215 list_for_each_entry(VAR, &net_namespace_list, list)