Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6] / net / netfilter / xt_comment.c
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("iptables comment match module");
14 MODULE_LICENSE("GPL");
15 MODULE_ALIAS("ipt_comment");
16 MODULE_ALIAS("ip6t_comment");
17
18 static bool
19 match(const struct sk_buff *skb,
20       const struct net_device *in,
21       const struct net_device *out,
22       const struct xt_match *match,
23       const void *matchinfo,
24       int offset,
25       unsigned int protooff,
26       bool *hotdrop)
27 {
28         /* We always match */
29         return true;
30 }
31
32 static struct xt_match xt_comment_match[] __read_mostly = {
33         {
34                 .name           = "comment",
35                 .family         = AF_INET,
36                 .match          = match,
37                 .matchsize      = sizeof(struct xt_comment_info),
38                 .me             = THIS_MODULE
39         },
40         {
41                 .name           = "comment",
42                 .family         = AF_INET6,
43                 .match          = match,
44                 .matchsize      = sizeof(struct xt_comment_info),
45                 .me             = THIS_MODULE
46         },
47 };
48
49 static int __init xt_comment_init(void)
50 {
51         return xt_register_matches(xt_comment_match,
52                                    ARRAY_SIZE(xt_comment_match));
53 }
54
55 static void __exit xt_comment_fini(void)
56 {
57         xt_unregister_matches(xt_comment_match, ARRAY_SIZE(xt_comment_match));
58 }
59
60 module_init(xt_comment_init);
61 module_exit(xt_comment_fini);