aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMasahide NAKAMURA <nakam@linux-ipv6.org>2006-08-23 21:08:21 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-22 18:06:39 -0400
commitfbd9a5b47ee9c319ff0cae584391241ce78ffd6b (patch)
tree3e6cdcf297e3f82b7ab276e5ffa59abfcb912f44 /include
parentf3bd484021d9486b826b422a017d75dd0bd258ad (diff)
[XFRM] STATE: Common receive function for route optimization extension headers.
XFRM_STATE_WILDRECV flag is introduced; the last resort state is set it and receives packet which is not route optimized but uses such extension headers i.e. Mobile IPv6 signaling (binding update and acknowledgement). A node enabled Mobile IPv6 adds the state. Based on MIPL2 kernel patch. Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/xfrm.h1
-rw-r--r--include/net/xfrm.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h
index 66343d3d4b91..a7c9e4cfb15b 100644
--- a/include/linux/xfrm.h
+++ b/include/linux/xfrm.h
@@ -256,6 +256,7 @@ struct xfrm_usersa_info {
256#define XFRM_STATE_NOECN 1 256#define XFRM_STATE_NOECN 1
257#define XFRM_STATE_DECAP_DSCP 2 257#define XFRM_STATE_DECAP_DSCP 2
258#define XFRM_STATE_NOPMTUDISC 4 258#define XFRM_STATE_NOPMTUDISC 4
259#define XFRM_STATE_WILDRECV 8
259}; 260};
260 261
261struct xfrm_usersa_id { 262struct xfrm_usersa_id {
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index eed48f832ce1..0d735a5aba61 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -955,6 +955,8 @@ extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler);
955extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler); 955extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler);
956extern int xfrm6_rcv_spi(struct sk_buff *skb, u32 spi); 956extern int xfrm6_rcv_spi(struct sk_buff *skb, u32 spi);
957extern int xfrm6_rcv(struct sk_buff **pskb); 957extern int xfrm6_rcv(struct sk_buff **pskb);
958extern int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr,
959 xfrm_address_t *saddr, u8 proto);
958extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler); 960extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler);
959extern int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler); 961extern int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler);
960extern u32 xfrm6_tunnel_alloc_spi(xfrm_address_t *saddr); 962extern u32 xfrm6_tunnel_alloc_spi(xfrm_address_t *saddr);