diff options
author | Jamal Hadi Salim <hadi@cyberus.ca> | 2007-05-04 15:55:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-05-04 15:55:13 -0400 |
commit | af11e31609d93765c1b22611592543e028f7aa54 (patch) | |
tree | f8a915dc7d98844667308f7c234d00f59113ff3f /include | |
parent | 224711df5c00f7540b89f32a8225866031977f17 (diff) |
[XFRM] SAD info TLV aggregationx
Aggregate the SAD info TLVs.
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/xfrm.h | 21 | ||||
-rw-r--r-- | include/net/xfrm.h | 17 |
2 files changed, 15 insertions, 23 deletions
diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h index a5d53e0fe152..c237fe3af8ce 100644 --- a/include/linux/xfrm.h +++ b/include/linux/xfrm.h | |||
@@ -243,17 +243,6 @@ enum xfrm_ae_ftype_t { | |||
243 | #define XFRM_AE_MAX (__XFRM_AE_MAX - 1) | 243 | #define XFRM_AE_MAX (__XFRM_AE_MAX - 1) |
244 | }; | 244 | }; |
245 | 245 | ||
246 | /* SAD Table filter flags */ | ||
247 | enum xfrm_sad_ftype_t { | ||
248 | XFRM_SAD_UNSPEC, | ||
249 | XFRM_SAD_HMASK=1, | ||
250 | XFRM_SAD_HMAX=2, | ||
251 | XFRM_SAD_CNT=4, | ||
252 | __XFRM_SAD_MAX | ||
253 | |||
254 | #define XFRM_SAD_MAX (__XFRM_SAD_MAX - 1) | ||
255 | }; | ||
256 | |||
257 | struct xfrm_userpolicy_type { | 246 | struct xfrm_userpolicy_type { |
258 | __u8 type; | 247 | __u8 type; |
259 | __u16 reserved1; | 248 | __u16 reserved1; |
@@ -287,14 +276,18 @@ enum xfrm_attr_type_t { | |||
287 | 276 | ||
288 | enum xfrm_sadattr_type_t { | 277 | enum xfrm_sadattr_type_t { |
289 | XFRMA_SAD_UNSPEC, | 278 | XFRMA_SAD_UNSPEC, |
290 | XFRMA_SADHMASK, | 279 | XFRMA_SAD_CNT, |
291 | XFRMA_SADHMAX, | 280 | XFRMA_SAD_HINFO, |
292 | XFRMA_SADCNT, | ||
293 | __XFRMA_SAD_MAX | 281 | __XFRMA_SAD_MAX |
294 | 282 | ||
295 | #define XFRMA_SAD_MAX (__XFRMA_SAD_MAX - 1) | 283 | #define XFRMA_SAD_MAX (__XFRMA_SAD_MAX - 1) |
296 | }; | 284 | }; |
297 | 285 | ||
286 | struct xfrmu_sadhinfo { | ||
287 | __u32 sadhcnt; /* current hash bkts */ | ||
288 | __u32 sadhmcnt; /* max allowed hash bkts */ | ||
289 | }; | ||
290 | |||
298 | /* SPD Table filter flags */ | 291 | /* SPD Table filter flags */ |
299 | enum xfrm_spd_ftype_t { | 292 | enum xfrm_spd_ftype_t { |
300 | XFRM_SPD_UNSPEC, | 293 | XFRM_SPD_UNSPEC, |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 66c2d3eec03c..d0d7db51d3fc 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
@@ -416,14 +416,6 @@ struct xfrm_audit | |||
416 | u32 secid; | 416 | u32 secid; |
417 | }; | 417 | }; |
418 | 418 | ||
419 | /* SAD metadata, add more later */ | ||
420 | struct xfrm_sadinfo | ||
421 | { | ||
422 | u32 sadhcnt; /* current hash bkts */ | ||
423 | u32 sadhmcnt; /* max allowed hash bkts */ | ||
424 | u32 sadcnt; /* current running count */ | ||
425 | }; | ||
426 | |||
427 | struct xfrm_spdinfo | 419 | struct xfrm_spdinfo |
428 | { | 420 | { |
429 | u32 incnt; | 421 | u32 incnt; |
@@ -964,10 +956,17 @@ static inline int xfrm_state_sort(struct xfrm_state **dst, struct xfrm_state **s | |||
964 | return -ENOSYS; | 956 | return -ENOSYS; |
965 | } | 957 | } |
966 | #endif | 958 | #endif |
959 | |||
960 | struct xfrmk_sadinfo { | ||
961 | u32 sadhcnt; /* current hash bkts */ | ||
962 | u32 sadhmcnt; /* max allowed hash bkts */ | ||
963 | u32 sadcnt; /* current running count */ | ||
964 | }; | ||
965 | |||
967 | extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); | 966 | extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); |
968 | extern int xfrm_state_delete(struct xfrm_state *x); | 967 | extern int xfrm_state_delete(struct xfrm_state *x); |
969 | extern void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info); | 968 | extern void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info); |
970 | extern void xfrm_sad_getinfo(struct xfrm_sadinfo *si); | 969 | extern void xfrm_sad_getinfo(struct xfrmk_sadinfo *si); |
971 | extern void xfrm_spd_getinfo(struct xfrm_spdinfo *si); | 970 | extern void xfrm_spd_getinfo(struct xfrm_spdinfo *si); |
972 | extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); | 971 | extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); |
973 | extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); | 972 | extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); |