git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[NETFILTER]: x_tables: mark matches and targets __read_mostly
[safe/jmp/linux-2.6]
/
net
/
ipv6
/
netfilter
/
ip6t_eui64.c
diff --git
a/net/ipv6/netfilter/ip6t_eui64.c
b/net/ipv6/netfilter/ip6t_eui64.c
index
967bed7
..
34ba150
100644
(file)
--- a/
net/ipv6/netfilter/ip6t_eui64.c
+++ b/
net/ipv6/netfilter/ip6t_eui64.c
@@
-19,7
+19,7
@@
MODULE_DESCRIPTION("IPv6 EUI64 address checking match");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Andras Kis-Szabo <kisza@sch.bme.hu>");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Andras Kis-Szabo <kisza@sch.bme.hu>");
-static
int
+static
bool
match(const struct sk_buff *skb,
const struct net_device *in,
const struct net_device *out,
match(const struct sk_buff *skb,
const struct net_device *in,
const struct net_device *out,
@@
-27,22
+27,22
@@
match(const struct sk_buff *skb,
const void *matchinfo,
int offset,
unsigned int protoff,
const void *matchinfo,
int offset,
unsigned int protoff,
-
int
*hotdrop)
+
bool
*hotdrop)
{
unsigned char eui64[8];
int i = 0;
{
unsigned char eui64[8];
int i = 0;
- if (!(skb
->mac.raw
>= skb->head &&
-
(skb->mac.raw + ETH_HLEN)
<= skb->data) &&
+ if (!(skb
_mac_header(skb)
>= skb->head &&
+
skb_mac_header(skb) + ETH_HLEN
<= skb->data) &&
offset != 0) {
offset != 0) {
- *hotdrop =
1
;
- return
0
;
+ *hotdrop =
true
;
+ return
false
;
}
memset(eui64, 0, sizeof(eui64));
if (eth_hdr(skb)->h_proto == htons(ETH_P_IPV6)) {
}
memset(eui64, 0, sizeof(eui64));
if (eth_hdr(skb)->h_proto == htons(ETH_P_IPV6)) {
- if (
skb->nh.ipv6h
->version == 0x6) {
+ if (
ipv6_hdr(skb)
->version == 0x6) {
memcpy(eui64, eth_hdr(skb)->h_source, 3);
memcpy(eui64 + 5, eth_hdr(skb)->h_source + 3, 3);
eui64[3] = 0xff;
memcpy(eui64, eth_hdr(skb)->h_source, 3);
memcpy(eui64 + 5, eth_hdr(skb)->h_source + 3, 3);
eui64[3] = 0xff;
@@
-50,19
+50,19
@@
match(const struct sk_buff *skb,
eui64[0] |= 0x02;
i = 0;
eui64[0] |= 0x02;
i = 0;
- while (
(skb->nh.ipv6h->saddr.s6_addr[8+i] == eui64[i])
- &&
(i < 8)
)
+ while (
ipv6_hdr(skb)->saddr.s6_addr[8 + i] == eui64[i]
+ &&
i < 8
)
i++;
if (i == 8)
i++;
if (i == 8)
- return
1
;
+ return
true
;
}
}
}
}
- return
0
;
+ return
false
;
}
}
-static struct xt_match eui64_match = {
+static struct xt_match eui64_match
__read_mostly
= {
.name = "eui64",
.family = AF_INET6,
.match = match,
.name = "eui64",
.family = AF_INET6,
.match = match,