diff options
author | Patrick McHardy <kaber@trash.net> | 2006-01-07 02:02:34 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-01-07 15:57:29 -0500 |
commit | 951dbc8ac714b04c36296b8b5c36c8e036ce433f (patch) | |
tree | 7f3599987f6b6db765f66c65d5c1cefe1457ea6a /net/ipv6/xfrm6_input.c | |
parent | 16a6677fdf1d1194f688f8291b06fbaff248c353 (diff) |
[IPV6]: Move nextheader offset to the IP6CB
Move nextheader offset to the IP6CB to make it possible to pass a
packet to ip6_input_finish multiple times and have it skip already
parsed headers. As a nice side effect this gets rid of the manual
hopopts skipping in ip6_input_finish.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/xfrm6_input.c')
-rw-r--r-- | net/ipv6/xfrm6_input.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv6/xfrm6_input.c b/net/ipv6/xfrm6_input.c index 28c29d78338e..1079e47f3933 100644 --- a/net/ipv6/xfrm6_input.c +++ b/net/ipv6/xfrm6_input.c | |||
@@ -26,7 +26,7 @@ static inline void ipip6_ecn_decapsulate(struct sk_buff *skb) | |||
26 | IP6_ECN_set_ce(inner_iph); | 26 | IP6_ECN_set_ce(inner_iph); |
27 | } | 27 | } |
28 | 28 | ||
29 | int xfrm6_rcv_spi(struct sk_buff **pskb, unsigned int *nhoffp, u32 spi) | 29 | int xfrm6_rcv_spi(struct sk_buff **pskb, u32 spi) |
30 | { | 30 | { |
31 | struct sk_buff *skb = *pskb; | 31 | struct sk_buff *skb = *pskb; |
32 | int err; | 32 | int err; |
@@ -38,7 +38,7 @@ int xfrm6_rcv_spi(struct sk_buff **pskb, unsigned int *nhoffp, u32 spi) | |||
38 | int nexthdr; | 38 | int nexthdr; |
39 | unsigned int nhoff; | 39 | unsigned int nhoff; |
40 | 40 | ||
41 | nhoff = *nhoffp; | 41 | nhoff = IP6CB(skb)->nhoff; |
42 | nexthdr = skb->nh.raw[nhoff]; | 42 | nexthdr = skb->nh.raw[nhoff]; |
43 | 43 | ||
44 | seq = 0; | 44 | seq = 0; |
@@ -144,7 +144,7 @@ drop: | |||
144 | 144 | ||
145 | EXPORT_SYMBOL(xfrm6_rcv_spi); | 145 | EXPORT_SYMBOL(xfrm6_rcv_spi); |
146 | 146 | ||
147 | int xfrm6_rcv(struct sk_buff **pskb, unsigned int *nhoffp) | 147 | int xfrm6_rcv(struct sk_buff **pskb) |
148 | { | 148 | { |
149 | return xfrm6_rcv_spi(pskb, nhoffp, 0); | 149 | return xfrm6_rcv_spi(pskb, 0); |
150 | } | 150 | } |