[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>
This commit is contained in:
committed by
David S. Miller
parent
16a6677fdf
commit
951dbc8ac7
@@ -831,7 +831,7 @@ struct xfrm_tunnel {
|
||||
};
|
||||
|
||||
struct xfrm6_tunnel {
|
||||
int (*handler)(struct sk_buff **pskb, unsigned int *nhoffp);
|
||||
int (*handler)(struct sk_buff **pskb);
|
||||
void (*err_handler)(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||
int type, int code, int offset, __u32 info);
|
||||
};
|
||||
@@ -868,8 +868,8 @@ extern int xfrm4_rcv(struct sk_buff *skb);
|
||||
extern int xfrm4_output(struct sk_buff *skb);
|
||||
extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler);
|
||||
extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler);
|
||||
extern int xfrm6_rcv_spi(struct sk_buff **pskb, unsigned int *nhoffp, u32 spi);
|
||||
extern int xfrm6_rcv(struct sk_buff **pskb, unsigned int *nhoffp);
|
||||
extern int xfrm6_rcv_spi(struct sk_buff **pskb, u32 spi);
|
||||
extern int xfrm6_rcv(struct sk_buff **pskb);
|
||||
extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler);
|
||||
extern int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler);
|
||||
extern u32 xfrm6_tunnel_alloc_spi(xfrm_address_t *saddr);
|
||||
|
Reference in New Issue
Block a user