[PATCH] netfilter: xtables: Add helper macro for xt_match boilerplate

From: Vaishali Thakkar
Date: Sun Jul 26 2015 - 07:58:06 EST


For simple modules that contain a single xt_match without any
additional setup code then ends up being a block of duplicated
boilerplate. This patch adds a new macro, module_xt_match(),
which replaces the module_init()/module_exit() registrations with
template functions.

Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx>
---
include/linux/netfilter/x_tables.h | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h
index 286098a..4ebf66b 100644
--- a/include/linux/netfilter/x_tables.h
+++ b/include/linux/netfilter/x_tables.h
@@ -142,6 +142,16 @@ struct xt_match {
unsigned short family;
};

+/**
+ * module_xt_match() - Helper macro for registering a netfilter driver
+ * @__xt_match: xt_match struct
+ * Helper macro for netfilter drivers which do not do anything special in module
+ * init/exit. This eliminates a lot of boilerplate. Each module may only
+ * use this macro once, and calling it replaces module_init() and module_exit()
+ */
+#define module_xt_match(__xt_match) \
+ module_driver(__xt_match, xt_register_match, xt_unregister_match)
+
/* Registration hooks for targets. */
struct xt_target {
struct list_head list;
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/