aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMasahide NAKAMURA <nakam@linux-ipv6.org>2006-08-23 20:56:04 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-22 18:06:35 -0400
commiteb2971b68a7d17a7d0fa2c7fc6fbc4bfe41cd694 (patch)
tree5f6e98ac376d0d2faa69e8a6644706a7312a1ff1 /include
parent6c44e6b7ab500d7e3e3f406c83325671be51a752 (diff)
[XFRM] STATE: Search by address using source address list.
This is a support to search transformation states by its addresses by using source address list for Mobile IPv6 usage. To use it from user-space, it is also added a message type for source address as a xfrm state option. 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 5154064b6d95..66343d3d4b91 100644
--- a/include/linux/xfrm.h
+++ b/include/linux/xfrm.h
@@ -234,6 +234,7 @@ enum xfrm_attr_type_t {
234 XFRMA_REPLAY_VAL, 234 XFRMA_REPLAY_VAL,
235 XFRMA_REPLAY_THRESH, 235 XFRMA_REPLAY_THRESH,
236 XFRMA_ETIMER_THRESH, 236 XFRMA_ETIMER_THRESH,
237 XFRMA_SRCADDR, /* xfrm_address_t */
237 __XFRMA_MAX 238 __XFRMA_MAX
238 239
239#define XFRMA_MAX (__XFRMA_MAX - 1) 240#define XFRMA_MAX (__XFRMA_MAX - 1)
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 88145e3348d0..d9c40e713184 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -244,6 +244,7 @@ struct xfrm_state_afinfo {
244 struct xfrm_tmpl *tmpl, 244 struct xfrm_tmpl *tmpl,
245 xfrm_address_t *daddr, xfrm_address_t *saddr); 245 xfrm_address_t *daddr, xfrm_address_t *saddr);
246 struct xfrm_state *(*state_lookup)(xfrm_address_t *daddr, u32 spi, u8 proto); 246 struct xfrm_state *(*state_lookup)(xfrm_address_t *daddr, u32 spi, u8 proto);
247 struct xfrm_state *(*state_lookup_byaddr)(xfrm_address_t *daddr, xfrm_address_t *saddr, u8 proto);
247 struct xfrm_state *(*find_acq)(u8 mode, u32 reqid, u8 proto, 248 struct xfrm_state *(*find_acq)(u8 mode, u32 reqid, u8 proto,
248 xfrm_address_t *daddr, xfrm_address_t *saddr, 249 xfrm_address_t *daddr, xfrm_address_t *saddr,
249 int create); 250 int create);
@@ -937,6 +938,7 @@ extern void xfrm_state_insert(struct xfrm_state *x);
937extern int xfrm_state_add(struct xfrm_state *x); 938extern int xfrm_state_add(struct xfrm_state *x);
938extern int xfrm_state_update(struct xfrm_state *x); 939extern int xfrm_state_update(struct xfrm_state *x);
939extern struct xfrm_state *xfrm_state_lookup(xfrm_address_t *daddr, u32 spi, u8 proto, unsigned short family); 940extern struct xfrm_state *xfrm_state_lookup(xfrm_address_t *daddr, u32 spi, u8 proto, unsigned short family);
941extern struct xfrm_state *xfrm_state_lookup_byaddr(xfrm_address_t *daddr, xfrm_address_t *saddr, u8 proto, unsigned short family);
940extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); 942extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq);
941extern int xfrm_state_delete(struct xfrm_state *x); 943extern int xfrm_state_delete(struct xfrm_state *x);
942extern void xfrm_state_flush(u8 proto); 944extern void xfrm_state_flush(u8 proto);