diff options
author | Patrick McHardy <kaber@trash.net> | 2007-11-19 21:53:30 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:53:55 -0500 |
commit | 6e23ae2a48750bda407a4a58f52a4865d7308bf5 (patch) | |
tree | 633fd60b2a42bf6fdb86564f0c05a6d52d8dc92b /net/ipv6/ip6_output.c | |
parent | 1bf06cd2e338fd6fc29169d30eaf0df982338285 (diff) |
[NETFILTER]: Introduce NF_INET_ hook values
The IPv4 and IPv6 hook values are identical, yet some code tries to figure
out the "correct" value by looking at the address family. Introduce NF_INET_*
values for both IPv4 and IPv6. The old values are kept in a #ifndef __KERNEL__
section for userspace compatibility.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r-- | net/ipv6/ip6_output.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index bd121f9ae0a7..d54da616e3af 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c | |||
@@ -79,7 +79,7 @@ int __ip6_local_out(struct sk_buff *skb) | |||
79 | len = 0; | 79 | len = 0; |
80 | ipv6_hdr(skb)->payload_len = htons(len); | 80 | ipv6_hdr(skb)->payload_len = htons(len); |
81 | 81 | ||
82 | return nf_hook(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dst->dev, | 82 | return nf_hook(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, skb->dst->dev, |
83 | dst_output); | 83 | dst_output); |
84 | } | 84 | } |
85 | 85 | ||
@@ -145,8 +145,8 @@ static int ip6_output2(struct sk_buff *skb) | |||
145 | is not supported in any case. | 145 | is not supported in any case. |
146 | */ | 146 | */ |
147 | if (newskb) | 147 | if (newskb) |
148 | NF_HOOK(PF_INET6, NF_IP6_POST_ROUTING, newskb, NULL, | 148 | NF_HOOK(PF_INET6, NF_INET_POST_ROUTING, newskb, |
149 | newskb->dev, | 149 | NULL, newskb->dev, |
150 | ip6_dev_loopback_xmit); | 150 | ip6_dev_loopback_xmit); |
151 | 151 | ||
152 | if (ipv6_hdr(skb)->hop_limit == 0) { | 152 | if (ipv6_hdr(skb)->hop_limit == 0) { |
@@ -159,7 +159,8 @@ static int ip6_output2(struct sk_buff *skb) | |||
159 | IP6_INC_STATS(idev, IPSTATS_MIB_OUTMCASTPKTS); | 159 | IP6_INC_STATS(idev, IPSTATS_MIB_OUTMCASTPKTS); |
160 | } | 160 | } |
161 | 161 | ||
162 | return NF_HOOK(PF_INET6, NF_IP6_POST_ROUTING, skb,NULL, skb->dev,ip6_output_finish); | 162 | return NF_HOOK(PF_INET6, NF_INET_POST_ROUTING, skb, NULL, skb->dev, |
163 | ip6_output_finish); | ||
163 | } | 164 | } |
164 | 165 | ||
165 | static inline int ip6_skb_dst_mtu(struct sk_buff *skb) | 166 | static inline int ip6_skb_dst_mtu(struct sk_buff *skb) |
@@ -261,7 +262,7 @@ int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl, | |||
261 | if ((skb->len <= mtu) || ipfragok || skb_is_gso(skb)) { | 262 | if ((skb->len <= mtu) || ipfragok || skb_is_gso(skb)) { |
262 | IP6_INC_STATS(ip6_dst_idev(skb->dst), | 263 | IP6_INC_STATS(ip6_dst_idev(skb->dst), |
263 | IPSTATS_MIB_OUTREQUESTS); | 264 | IPSTATS_MIB_OUTREQUESTS); |
264 | return NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, dst->dev, | 265 | return NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, dst->dev, |
265 | dst_output); | 266 | dst_output); |
266 | } | 267 | } |
267 | 268 | ||
@@ -525,7 +526,8 @@ int ip6_forward(struct sk_buff *skb) | |||
525 | hdr->hop_limit--; | 526 | hdr->hop_limit--; |
526 | 527 | ||
527 | IP6_INC_STATS_BH(ip6_dst_idev(dst), IPSTATS_MIB_OUTFORWDATAGRAMS); | 528 | IP6_INC_STATS_BH(ip6_dst_idev(dst), IPSTATS_MIB_OUTFORWDATAGRAMS); |
528 | return NF_HOOK(PF_INET6,NF_IP6_FORWARD, skb, skb->dev, dst->dev, ip6_forward_finish); | 529 | return NF_HOOK(PF_INET6, NF_INET_FORWARD, skb, skb->dev, dst->dev, |
530 | ip6_forward_finish); | ||
529 | 531 | ||
530 | error: | 532 | error: |
531 | IP6_INC_STATS_BH(ip6_dst_idev(dst), IPSTATS_MIB_INADDRERRORS); | 533 | IP6_INC_STATS_BH(ip6_dst_idev(dst), IPSTATS_MIB_INADDRERRORS); |