Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
ipsec: perf improvement of ipsec4_input_node using flow cache
[vpp.git]
/
src
/
vnet
/
ipsec
/
ipsec.h
diff --git
a/src/vnet/ipsec/ipsec.h
b/src/vnet/ipsec/ipsec.h
index
38feaed
..
05d8484
100644
(file)
--- a/
src/vnet/ipsec/ipsec.h
+++ b/
src/vnet/ipsec/ipsec.h
@@
-36,7
+36,7
@@
typedef clib_error_t *(*enable_disable_cb_t) (int is_enable);
typedef struct
{
typedef struct
{
- u64 key[2];
+ u64 key[2];
// 16 bytes
u64 value;
i32 bucket_lock;
u32 un_used;
u64 value;
i32 bucket_lock;
u32 un_used;
@@
-54,6
+54,18
@@
typedef union
ipsec4_hash_kv_16_8_t kv_16_8;
} ipsec4_spd_5tuple_t;
ipsec4_hash_kv_16_8_t kv_16_8;
} ipsec4_spd_5tuple_t;
+typedef union
+{
+ struct
+ {
+ ip4_address_t ip4_src_addr;
+ ip4_address_t ip4_dest_addr;
+ ipsec_spd_policy_type_t policy_type;
+ u8 pad[4];
+ }; // 16 bytes total
+ ipsec4_hash_kv_16_8_t kv_16_8;
+} ipsec4_inbound_spd_tuple_t;
+
typedef struct
{
u8 *name;
typedef struct
{
u8 *name;
@@
-151,6
+163,7
@@
typedef struct
uword *ipsec_if_by_sw_if_index;
ipsec4_hash_kv_16_8_t *ipsec4_out_spd_hash_tbl;
uword *ipsec_if_by_sw_if_index;
ipsec4_hash_kv_16_8_t *ipsec4_out_spd_hash_tbl;
+ ipsec4_hash_kv_16_8_t *ipsec4_in_spd_hash_tbl;
clib_bihash_8_16_t tun4_protect_by_key;
clib_bihash_24_16_t tun6_protect_by_key;
clib_bihash_8_16_t tun4_protect_by_key;
clib_bihash_24_16_t tun6_protect_by_key;
@@
-223,9
+236,15
@@
typedef struct
u32 ipsec4_out_spd_hash_num_buckets;
u32 ipsec4_out_spd_flow_cache_entries;
u32 epoch_count;
u32 ipsec4_out_spd_hash_num_buckets;
u32 ipsec4_out_spd_flow_cache_entries;
u32 epoch_count;
+ u8 output_flow_cache_flag;
+
+ u32 ipsec4_in_spd_hash_num_buckets;
+ u32 ipsec4_in_spd_flow_cache_entries;
+ u32 input_epoch_count;
+ u8 input_flow_cache_flag;
+
u8 async_mode;
u16 msg_id_base;
u8 async_mode;
u16 msg_id_base;
- u8 flow_cache_flag;
} ipsec_main_t;
typedef enum ipsec_format_flags_t_
} ipsec_main_t;
typedef enum ipsec_format_flags_t_