|
@@ -341,10 +341,13 @@ struct xfrm_state_afinfo {
|
|
|
struct sk_buff *skb);
|
|
|
int (*transport_finish)(struct sk_buff *skb,
|
|
|
int async);
|
|
|
+ void (*local_error)(struct sk_buff *skb, u32 mtu);
|
|
|
};
|
|
|
|
|
|
extern int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo);
|
|
|
extern int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo);
|
|
|
+extern struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned int family);
|
|
|
+extern void xfrm_state_put_afinfo(struct xfrm_state_afinfo *afinfo);
|
|
|
|
|
|
extern void xfrm_state_delete_tunnel(struct xfrm_state *x);
|
|
|
|
|
@@ -1477,6 +1480,7 @@ extern int xfrm_input_resume(struct sk_buff *skb, int nexthdr);
|
|
|
extern int xfrm_output_resume(struct sk_buff *skb, int err);
|
|
|
extern int xfrm_output(struct sk_buff *skb);
|
|
|
extern int xfrm_inner_extract_output(struct xfrm_state *x, struct sk_buff *skb);
|
|
|
+extern void xfrm_local_error(struct sk_buff *skb, int mtu);
|
|
|
extern int xfrm4_extract_header(struct sk_buff *skb);
|
|
|
extern int xfrm4_extract_input(struct xfrm_state *x, struct sk_buff *skb);
|
|
|
extern int xfrm4_rcv_encap(struct sk_buff *skb, int nexthdr, __be32 spi,
|
|
@@ -1497,6 +1501,7 @@ extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short fam
|
|
|
extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family);
|
|
|
extern int xfrm4_mode_tunnel_input_register(struct xfrm_tunnel *handler);
|
|
|
extern int xfrm4_mode_tunnel_input_deregister(struct xfrm_tunnel *handler);
|
|
|
+extern void xfrm4_local_error(struct sk_buff *skb, u32 mtu);
|
|
|
extern int xfrm6_extract_header(struct sk_buff *skb);
|
|
|
extern int xfrm6_extract_input(struct xfrm_state *x, struct sk_buff *skb);
|
|
|
extern int xfrm6_rcv_spi(struct sk_buff *skb, int nexthdr, __be32 spi);
|
|
@@ -1514,6 +1519,7 @@ extern int xfrm6_output(struct sk_buff *skb);
|
|
|
extern int xfrm6_output_finish(struct sk_buff *skb);
|
|
|
extern int xfrm6_find_1stfragopt(struct xfrm_state *x, struct sk_buff *skb,
|
|
|
u8 **prevhdr);
|
|
|
+extern void xfrm6_local_error(struct sk_buff *skb, u32 mtu);
|
|
|
|
|
|
#ifdef CONFIG_XFRM
|
|
|
extern int xfrm4_udp_encap_rcv(struct sock *sk, struct sk_buff *skb);
|