]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/net/netfilter/nf_conntrack_l3proto.h
[NETFILTER]: Add ctnetlink port for nf_conntrack
[linux-2.6-omap-h63xx.git] / include / net / netfilter / nf_conntrack_l3proto.h
index 01663e5b33dfd1b0a9f1aba6836b5e3c48751971..67856eb93b435093807db606e220ce575988571f 100644 (file)
@@ -14,6 +14,8 @@
 #include <linux/seq_file.h>
 #include <net/netfilter/nf_conntrack.h>
 
+struct nfattr;
+
 struct nf_conntrack_l3proto
 {
        /* Next pointer. */
@@ -70,6 +72,12 @@ struct nf_conntrack_l3proto
 
        u_int32_t (*get_features)(const struct nf_conntrack_tuple *tuple);
 
+       int (*tuple_to_nfattr)(struct sk_buff *skb,
+                              const struct nf_conntrack_tuple *t);
+
+       int (*nfattr_to_tuple)(struct nfattr *tb[],
+                              struct nf_conntrack_tuple *t);
+
        /* Module (if any) which this is connected to. */
        struct module *me;
 };
@@ -81,11 +89,16 @@ extern int nf_conntrack_l3proto_register(struct nf_conntrack_l3proto *proto);
 extern void nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto);
 
 static inline struct nf_conntrack_l3proto *
-nf_ct_find_l3proto(u_int16_t l3proto)
+__nf_ct_l3proto_find(u_int16_t l3proto)
 {
        return nf_ct_l3protos[l3proto];
 }
 
+extern struct nf_conntrack_l3proto *
+nf_ct_l3proto_find_get(u_int16_t l3proto);
+
+extern void nf_ct_l3proto_put(struct nf_conntrack_l3proto *p);
+
 /* Existing built-in protocols */
 extern struct nf_conntrack_l3proto nf_conntrack_l3proto_ipv4;
 extern struct nf_conntrack_l3proto nf_conntrack_l3proto_ipv6;