blob: 5c861d2f21ca6feb528355e209ab679fd749a638 [file] [log] [blame]
Harald Welte2e4e6a12006-01-12 13:30:04 -08001/*
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
12MODULE_AUTHOR("Brad Fisher <brad@info-link.net>");
Jan Engelhardt2ae15b62008-01-14 23:42:28 -080013MODULE_DESCRIPTION("Xtables: No-op match which can be tagged with a comment");
Harald Welte2e4e6a12006-01-12 13:30:04 -080014MODULE_LICENSE("GPL");
15MODULE_ALIAS("ipt_comment");
16MODULE_ALIAS("ip6t_comment");
17
Jan Engelhardt1d93a9c2007-07-07 22:15:35 -070018static bool
Jan Engelhardt62fc8052009-07-07 20:42:08 +020019comment_mt(const struct sk_buff *skb, struct xt_action_param *par)
Harald Welte2e4e6a12006-01-12 13:30:04 -080020{
21 /* We always match */
Jan Engelhardt1d93a9c2007-07-07 22:15:35 -070022 return true;
Harald Welte2e4e6a12006-01-12 13:30:04 -080023}
24
Jan Engelhardtab4f21e2008-10-08 11:35:20 +020025static struct xt_match comment_mt_reg __read_mostly = {
26 .name = "comment",
27 .revision = 0,
28 .family = NFPROTO_UNSPEC,
29 .match = comment_mt,
30 .matchsize = sizeof(struct xt_comment_info),
31 .me = THIS_MODULE,
Harald Welte2e4e6a12006-01-12 13:30:04 -080032};
33
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080034static int __init comment_mt_init(void)
Harald Welte2e4e6a12006-01-12 13:30:04 -080035{
Jan Engelhardtab4f21e2008-10-08 11:35:20 +020036 return xt_register_match(&comment_mt_reg);
Harald Welte2e4e6a12006-01-12 13:30:04 -080037}
38
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080039static void __exit comment_mt_exit(void)
Harald Welte2e4e6a12006-01-12 13:30:04 -080040{
Jan Engelhardtab4f21e2008-10-08 11:35:20 +020041 xt_unregister_match(&comment_mt_reg);
Harald Welte2e4e6a12006-01-12 13:30:04 -080042}
43
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080044module_init(comment_mt_init);
45module_exit(comment_mt_exit);