13b49e2e9SPablo Neira Ayuso #ifndef _NF_FLOW_TABLE_H
23b49e2e9SPablo Neira Ayuso #define _NF_FLOW_TABLE_H
33b49e2e9SPablo Neira Ayuso 
43b49e2e9SPablo Neira Ayuso #include <linux/rhashtable.h>
53b49e2e9SPablo Neira Ayuso 
63b49e2e9SPablo Neira Ayuso struct nf_flowtable;
73b49e2e9SPablo Neira Ayuso 
83b49e2e9SPablo Neira Ayuso struct nf_flowtable_type {
93b49e2e9SPablo Neira Ayuso 	struct list_head		list;
103b49e2e9SPablo Neira Ayuso 	int				family;
113b49e2e9SPablo Neira Ayuso 	void				(*gc)(struct work_struct *work);
123b49e2e9SPablo Neira Ayuso 	const struct rhashtable_params	*params;
133b49e2e9SPablo Neira Ayuso 	nf_hookfn			*hook;
143b49e2e9SPablo Neira Ayuso 	struct module			*owner;
153b49e2e9SPablo Neira Ayuso };
163b49e2e9SPablo Neira Ayuso 
173b49e2e9SPablo Neira Ayuso struct nf_flowtable {
183b49e2e9SPablo Neira Ayuso 	struct rhashtable		rhashtable;
193b49e2e9SPablo Neira Ayuso 	const struct nf_flowtable_type	*type;
203b49e2e9SPablo Neira Ayuso 	struct delayed_work		gc_work;
213b49e2e9SPablo Neira Ayuso };
223b49e2e9SPablo Neira Ayuso 
233b49e2e9SPablo Neira Ayuso #endif /* _FLOW_OFFLOAD_H */
24