projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[NETFILTER]: Remove changelogs and CVS IDs
[powerpc.git]
/
net
/
ipv4
/
netfilter
/
ipt_ecn.c
diff --git
a/net/ipv4/netfilter/ipt_ecn.c
b/net/ipv4/netfilter/ipt_ecn.c
index
b282504
..
2621812
100644
(file)
--- a/
net/ipv4/netfilter/ipt_ecn.c
+++ b/
net/ipv4/netfilter/ipt_ecn.c
@@
-1,6
+1,4
@@
/* IP tables module for matching the value of the IPv4 and TCP ECN bits
/* IP tables module for matching the value of the IPv4 and TCP ECN bits
- *
- * ipt_ecn.c,v 1.3 2002/05/29 15:09:00 laforge Exp
*
* (C) 2002 by Harald Welte <laforge@gnumonks.org>
*
*
* (C) 2002 by Harald Welte <laforge@gnumonks.org>
*
@@
-9,10
+7,14
@@
* published by the Free Software Foundation.
*/
* published by the Free Software Foundation.
*/
+#include <linux/in.h>
+#include <linux/ip.h>
+#include <net/ip.h>
#include <linux/module.h>
#include <linux/skbuff.h>
#include <linux/tcp.h>
#include <linux/module.h>
#include <linux/skbuff.h>
#include <linux/tcp.h>
+#include <linux/netfilter/x_tables.h>
#include <linux/netfilter_ipv4/ip_tables.h>
#include <linux/netfilter_ipv4/ipt_ecn.h>
#include <linux/netfilter_ipv4/ip_tables.h>
#include <linux/netfilter_ipv4/ipt_ecn.h>
@@
-23,7
+25,7
@@
MODULE_LICENSE("GPL");
static inline int match_ip(const struct sk_buff *skb,
const struct ipt_ecn_info *einfo)
{
static inline int match_ip(const struct sk_buff *skb,
const struct ipt_ecn_info *einfo)
{
- return (
(skb->nh.iph->tos&IPT_ECN_IP_MASK) == einfo->ip_ect)
;
+ return (
ip_hdr(skb)->tos & IPT_ECN_IP_MASK) == einfo->ip_ect
;
}
static inline int match_tcp(const struct sk_buff *skb,
}
static inline int match_tcp(const struct sk_buff *skb,
@@
-35,8
+37,7
@@
static inline int match_tcp(const struct sk_buff *skb,
/* In practice, TCP match does this, so can't fail. But let's
* be good citizens.
*/
/* In practice, TCP match does this, so can't fail. But let's
* be good citizens.
*/
- th = skb_header_pointer(skb, skb->nh.iph->ihl * 4,
- sizeof(_tcph), &_tcph);
+ th = skb_header_pointer(skb, ip_hdrlen(skb), sizeof(_tcph), &_tcph);
if (th == NULL) {
*hotdrop = 0;
return 0;
if (th == NULL) {
*hotdrop = 0;
return 0;
@@
-77,7
+78,7
@@
static int match(const struct sk_buff *skb,
return 0;
if (info->operation & (IPT_ECN_OP_MATCH_ECE|IPT_ECN_OP_MATCH_CWR)) {
return 0;
if (info->operation & (IPT_ECN_OP_MATCH_ECE|IPT_ECN_OP_MATCH_CWR)) {
- if (
skb->nh.iph
->protocol != IPPROTO_TCP)
+ if (
ip_hdr(skb)
->protocol != IPPROTO_TCP)
return 0;
if (!match_tcp(skb, info, hotdrop))
return 0;
return 0;
if (!match_tcp(skb, info, hotdrop))
return 0;
@@
-88,8
+89,7
@@
static int match(const struct sk_buff *skb,
static int checkentry(const char *tablename, const void *ip_void,
const struct xt_match *match,
static int checkentry(const char *tablename, const void *ip_void,
const struct xt_match *match,
- void *matchinfo, unsigned int matchsize,
- unsigned int hook_mask)
+ void *matchinfo, unsigned int hook_mask)
{
const struct ipt_ecn_info *info = matchinfo;
const struct ipt_ip *ip = ip_void;
{
const struct ipt_ecn_info *info = matchinfo;
const struct ipt_ip *ip = ip_void;
@@
-110,8
+110,9
@@
static int checkentry(const char *tablename, const void *ip_void,
return 1;
}
return 1;
}
-static struct
ip
t_match ecn_match = {
+static struct
x
t_match ecn_match = {
.name = "ecn",
.name = "ecn",
+ .family = AF_INET,
.match = match,
.matchsize = sizeof(struct ipt_ecn_info),
.checkentry = checkentry,
.match = match,
.matchsize = sizeof(struct ipt_ecn_info),
.checkentry = checkentry,
@@
-120,12
+121,12
@@
static struct ipt_match ecn_match = {
static int __init ipt_ecn_init(void)
{
static int __init ipt_ecn_init(void)
{
- return
ip
t_register_match(&ecn_match);
+ return
x
t_register_match(&ecn_match);
}
static void __exit ipt_ecn_fini(void)
{
}
static void __exit ipt_ecn_fini(void)
{
-
ip
t_unregister_match(&ecn_match);
+
x
t_unregister_match(&ecn_match);
}
module_init(ipt_ecn_init);
}
module_init(ipt_ecn_init);