]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/net/netfilter/nf_conntrack.h
netfilter: netns nf_conntrack: add ->ct_net -- pointer from conntrack to netns
[linux-2.6-omap-h63xx.git] / include / net / netfilter / nf_conntrack.h
index 0741ad592da03d84298b46075fdf2b0e5276dac6..2b8d6efecf320dcd25f9d6dba603e11bc9437e5b 100644 (file)
@@ -123,7 +123,9 @@ struct nf_conn
 
        /* Extensions */
        struct nf_ct_ext *ext;
-
+#ifdef CONFIG_NET_NS
+       struct net *ct_net;
+#endif
        struct rcu_head rcu;
 };
 
@@ -147,6 +149,17 @@ static inline u_int8_t nf_ct_protonum(const struct nf_conn *ct)
 /* get master conntrack via master expectation */
 #define master_ct(conntr) (conntr->master)
 
+extern struct net init_net;
+
+static inline struct net *nf_ct_net(const struct nf_conn *ct)
+{
+#ifdef CONFIG_NET_NS
+       return ct->ct_net;
+#else
+       return &init_net;
+#endif
+}
+
 /* Alter reply tuple (maybe alter helper). */
 extern void
 nf_conntrack_alter_reply(struct nf_conn *ct,
@@ -251,7 +264,8 @@ extern void
 nf_ct_iterate_cleanup(int (*iter)(struct nf_conn *i, void *data), void *data);
 extern void nf_conntrack_free(struct nf_conn *ct);
 extern struct nf_conn *
-nf_conntrack_alloc(const struct nf_conntrack_tuple *orig,
+nf_conntrack_alloc(struct net *net,
+                  const struct nf_conntrack_tuple *orig,
                   const struct nf_conntrack_tuple *repl,
                   gfp_t gfp);