blob: 89f47364e84851dfd1f3f9af61ec3d3b63697419 [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 Engelhardtd3c5ee62007-12-04 23:24:03 -080019comment_mt(const struct sk_buff *skb, const struct net_device *in,
20 const struct net_device *out, const struct xt_match *match,
21 const void *matchinfo, int offset, unsigned int protooff,
22 bool *hotdrop)
Harald Welte2e4e6a12006-01-12 13:30:04 -080023{
24 /* We always match */
Jan Engelhardt1d93a9c2007-07-07 22:15:35 -070025 return true;
Harald Welte2e4e6a12006-01-12 13:30:04 -080026}
27
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080028static struct xt_match comment_mt_reg[] __read_mostly = {
Patrick McHardy4470bbc2006-08-22 00:34:04 -070029 {
30 .name = "comment",
31 .family = AF_INET,
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080032 .match = comment_mt,
Patrick McHardy4470bbc2006-08-22 00:34:04 -070033 .matchsize = sizeof(struct xt_comment_info),
34 .me = THIS_MODULE
35 },
36 {
37 .name = "comment",
38 .family = AF_INET6,
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080039 .match = comment_mt,
Patrick McHardy4470bbc2006-08-22 00:34:04 -070040 .matchsize = sizeof(struct xt_comment_info),
41 .me = THIS_MODULE
42 },
Harald Welte2e4e6a12006-01-12 13:30:04 -080043};
44
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080045static int __init comment_mt_init(void)
Harald Welte2e4e6a12006-01-12 13:30:04 -080046{
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080047 return xt_register_matches(comment_mt_reg, ARRAY_SIZE(comment_mt_reg));
Harald Welte2e4e6a12006-01-12 13:30:04 -080048}
49
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080050static void __exit comment_mt_exit(void)
Harald Welte2e4e6a12006-01-12 13:30:04 -080051{
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080052 xt_unregister_matches(comment_mt_reg, ARRAY_SIZE(comment_mt_reg));
Harald Welte2e4e6a12006-01-12 13:30:04 -080053}
54
Jan Engelhardtd3c5ee62007-12-04 23:24:03 -080055module_init(comment_mt_init);
56module_exit(comment_mt_exit);