1 /* 2 * Implements a dummy match to allow attaching comments to rules 3 * 4 * 2003-05-13 Brad Fisher (brad@info-link.net) 5 */ 6 7 #include <linux/module.h> 8 #include <linux/skbuff.h> 9 #include <linux/netfilter/x_tables.h> 10 #include <linux/netfilter/xt_comment.h> 11 12 MODULE_AUTHOR("Brad Fisher <brad@info-link.net>"); 13 MODULE_DESCRIPTION("Xtables: No-op match which can be tagged with a comment"); 14 MODULE_LICENSE("GPL"); 15 MODULE_ALIAS("ipt_comment"); 16 MODULE_ALIAS("ip6t_comment"); 17 18 static bool 19 comment_mt(const struct sk_buff *skb, const struct xt_match_param *par) 20 { 21 /* We always match */ 22 return true; 23 } 24 25 static struct xt_match comment_mt_reg[] __read_mostly = { 26 { 27 .name = "comment", 28 .family = NFPROTO_IPV4, 29 .match = comment_mt, 30 .matchsize = sizeof(struct xt_comment_info), 31 .me = THIS_MODULE 32 }, 33 { 34 .name = "comment", 35 .family = NFPROTO_IPV6, 36 .match = comment_mt, 37 .matchsize = sizeof(struct xt_comment_info), 38 .me = THIS_MODULE 39 }, 40 }; 41 42 static int __init comment_mt_init(void) 43 { 44 return xt_register_matches(comment_mt_reg, ARRAY_SIZE(comment_mt_reg)); 45 } 46 47 static void __exit comment_mt_exit(void) 48 { 49 xt_unregister_matches(comment_mt_reg, ARRAY_SIZE(comment_mt_reg)); 50 } 51 52 module_init(comment_mt_init); 53 module_exit(comment_mt_exit); 54