summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@kernel.bkbits.net>2003-04-11 11:53:25 -0700
committerDavid S. Miller <davem@kernel.bkbits.net>2003-04-11 11:53:25 -0700
commit7867b36d8063af595262caf78aed9eb5f5dc7faa (patch)
tree82a616f6c12c081bb3e663b2acda2f8bfb47442d /include
parent21347414286dfc62520a100b1affa2040c16c198 (diff)
parent98bcb391cb1f467ac4f311771e886f577d5fedda (diff)
Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5
into kernel.bkbits.net:/home/davem/net-2.5
Diffstat (limited to 'include')
-rw-r--r--include/net/xfrm.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index b75d2651adf0..be3c652da8c7 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -723,6 +723,12 @@ struct xfrm_algo_desc {
struct sadb_alg desc;
};
+/* XFRM tunnel handlers. */
+struct xfrm_tunnel {
+ int (*handler)(struct sk_buff *skb);
+ void (*err_handler)(struct sk_buff *skb, void *info);
+};
+
extern void xfrm_init(void);
extern void xfrm4_init(void);
extern void xfrm4_fini(void);
@@ -752,6 +758,8 @@ extern void xfrm_replay_advance(struct xfrm_state *x, u32 seq);
extern int xfrm_check_selectors(struct xfrm_state **x, int n, struct flowi *fl);
extern int xfrm4_rcv(struct sk_buff *skb);
extern int xfrm4_rcv_encap(struct sk_buff *skb, __u16 encap_type);
+extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler);
+extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler);
extern int xfrm6_rcv(struct sk_buff **pskb);
extern int xfrm6_clear_mutable_options(struct sk_buff *skb, u16 *nh_offset, int dir);
extern int xfrm_user_policy(struct sock *sk, int optname, u8 *optval, int optlen);