aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2009-06-17 07:57:48 -0400
committerJan Engelhardt <jengelh@medozas.de>2010-02-10 11:13:33 -0500
commit2b95efe7f6bb750256a702cc32d33b0cb2cd8223 (patch)
tree49ab6f0eb13fe524211f94db29c19827529f49a5 /include/linux
parent2b21e051472fdb4680076278b2ccf63ebc1cc3bc (diff)
netfilter: xtables: use xt_table for hook instantiation
The respective xt_table structures already have most of the metadata needed for hook setup. Add a 'priority' field to struct xt_table so that xt_hook_link() can be called with a reduced number of arguments. So should we be having more tables in the future, it comes at no static cost (only runtime, as before) - space saved: 6807373->6806555. Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/netfilter/x_tables.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h
index 365fabe1b16e..fdd3342c1235 100644
--- a/include/linux/netfilter/x_tables.h
+++ b/include/linux/netfilter/x_tables.h
@@ -361,6 +361,7 @@ struct xt_table {
361 struct module *me; 361 struct module *me;
362 362
363 u_int8_t af; /* address/protocol family */ 363 u_int8_t af; /* address/protocol family */
364 int priority; /* hook order */
364 365
365 /* A unique name... */ 366 /* A unique name... */
366 const char name[XT_TABLE_MAXNAMELEN]; 367 const char name[XT_TABLE_MAXNAMELEN];
@@ -522,6 +523,9 @@ static inline unsigned long ifname_compare_aligned(const char *_a,
522 return ret; 523 return ret;
523} 524}
524 525
526extern struct nf_hook_ops *xt_hook_link(const struct xt_table *, nf_hookfn *);
527extern void xt_hook_unlink(const struct xt_table *, struct nf_hook_ops *);
528
525#ifdef CONFIG_COMPAT 529#ifdef CONFIG_COMPAT
526#include <net/compat.h> 530#include <net/compat.h>
527 531