git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
net
/
ipv4
/
netfilter
/
ipt_dscp.c
diff --git
a/net/ipv4/netfilter/ipt_dscp.c
b/net/ipv4/netfilter/ipt_dscp.c
index
4717759
..
92063b4
100644
(file)
--- a/
net/ipv4/netfilter/ipt_dscp.c
+++ b/
net/ipv4/netfilter/ipt_dscp.c
@@
-19,9
+19,8
@@
MODULE_AUTHOR("Harald Welte <laforge@netfilter.org>");
MODULE_DESCRIPTION("iptables DSCP matching module");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("iptables DSCP matching module");
MODULE_LICENSE("GPL");
-static int match(const struct sk_buff *skb,
- const struct net_device *in, const struct net_device *out,
- const struct xt_match *match, const void *matchinfo,
+static int match(const struct sk_buff *skb, const struct net_device *in,
+ const struct net_device *out, const void *matchinfo,
int offset, unsigned int protoff, int *hotdrop)
{
const struct ipt_dscp_info *info = matchinfo;
int offset, unsigned int protoff, int *hotdrop)
{
const struct ipt_dscp_info *info = matchinfo;
@@
-32,23
+31,33
@@
static int match(const struct sk_buff *skb,
return ((iph->tos&IPT_DSCP_MASK) == sh_dscp) ^ info->invert;
}
return ((iph->tos&IPT_DSCP_MASK) == sh_dscp) ^ info->invert;
}
+static int checkentry(const char *tablename, const void *ip,
+ void *matchinfo, unsigned int matchsize,
+ unsigned int hook_mask)
+{
+ if (matchsize != IPT_ALIGN(sizeof(struct ipt_dscp_info)))
+ return 0;
+
+ return 1;
+}
+
static struct ipt_match dscp_match = {
.name = "dscp",
static struct ipt_match dscp_match = {
.name = "dscp",
- .match = match,
- .
matchsize = sizeof(struct ipt_dscp_info)
,
+ .match =
&
match,
+ .
checkentry = &checkentry
,
.me = THIS_MODULE,
};
.me = THIS_MODULE,
};
-static int __init i
pt_dscp_i
nit(void)
+static int __init init(void)
{
return ipt_register_match(&dscp_match);
}
{
return ipt_register_match(&dscp_match);
}
-static void __exit
ipt_dscp_
fini(void)
+static void __exit fini(void)
{
ipt_unregister_match(&dscp_match);
}
{
ipt_unregister_match(&dscp_match);
}
-module_init(i
pt_dscp_i
nit);
-module_exit(
ipt_dscp_
fini);
+module_init(init);
+module_exit(fini);