diff options
author | Masahide NAKAMURA <nakam@linux-ipv6.org> | 2006-08-23 21:08:21 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 18:06:39 -0400 |
commit | fbd9a5b47ee9c319ff0cae584391241ce78ffd6b (patch) | |
tree | 3e6cdcf297e3f82b7ab276e5ffa59abfcb912f44 /include | |
parent | f3bd484021d9486b826b422a017d75dd0bd258ad (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.h | 1 | ||||
-rw-r--r-- | include/net/xfrm.h | 2 |
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 | ||
261 | struct xfrm_usersa_id { | 262 | struct 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); | |||
955 | extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler); | 955 | extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler); |
956 | extern int xfrm6_rcv_spi(struct sk_buff *skb, u32 spi); | 956 | extern int xfrm6_rcv_spi(struct sk_buff *skb, u32 spi); |
957 | extern int xfrm6_rcv(struct sk_buff **pskb); | 957 | extern int xfrm6_rcv(struct sk_buff **pskb); |
958 | extern int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr, | ||
959 | xfrm_address_t *saddr, u8 proto); | ||
958 | extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler); | 960 | extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler); |
959 | extern int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler); | 961 | extern int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler); |
960 | extern u32 xfrm6_tunnel_alloc_spi(xfrm_address_t *saddr); | 962 | extern u32 xfrm6_tunnel_alloc_spi(xfrm_address_t *saddr); |