optimize session manager config
This commit is contained in:
@@ -10,46 +10,54 @@ extern "C"
|
||||
|
||||
struct session_manager_config
|
||||
{
|
||||
// max session number
|
||||
uint64_t max_tcp_session_num;
|
||||
uint64_t max_udp_session_num;
|
||||
uint64_t tcp_session_max;
|
||||
uint64_t udp_session_max;
|
||||
|
||||
// session overload
|
||||
uint8_t tcp_overload_evict_old_sess; // 1: evict old session, 0: bypass new session
|
||||
uint8_t udp_overload_evict_old_sess; // 1: evict old session, 0: bypass new session
|
||||
uint8_t evict_old_on_tcp_table_limit; // range: [0, 1]
|
||||
uint8_t evict_old_on_udp_table_limit; // range: [0, 1]
|
||||
|
||||
// TCP timeout
|
||||
uint64_t tcp_init_timeout_ms; // range: [1, 60000] (ms)
|
||||
uint64_t tcp_handshake_timeout_ms; // range: [1, 60000] (ms)
|
||||
uint64_t tcp_data_timeout_ms; // range: [1, 15999999000] (ms)
|
||||
uint64_t tcp_half_closed_timeout_ms; // range: [1, 604800000] (ms)
|
||||
uint64_t tcp_time_wait_timeout_ms; // range: [1, 600000] (ms)
|
||||
uint64_t tcp_discard_timeout_ms; // range: [1, 15999999000] (ms)
|
||||
uint64_t tcp_unverified_rst_timeout_ms; // range: [1, 600000] (ms)
|
||||
// UDP timeout
|
||||
uint64_t udp_data_timeout_ms; // range: [1, 15999999000] (ms)
|
||||
uint64_t udp_discard_timeout_ms; // range: [1, 15999999000] (ms)
|
||||
uint64_t expire_period_ms; // range: [0, 60000] (ms)
|
||||
uint64_t expire_batch_max; // range: [1, 1024]
|
||||
|
||||
// limit
|
||||
uint64_t session_expire_polling_interval_ms; // range: [0, 60000] (ms)
|
||||
uint64_t session_expire_polling_limit; // range: [1, 1024]
|
||||
struct
|
||||
{
|
||||
uint64_t init; // range: [1, 60000] (ms)
|
||||
uint64_t handshake; // range: [1, 60000] (ms)
|
||||
uint64_t data; // range: [1, 15999999000] (ms)
|
||||
uint64_t half_closed; // range: [1, 604800000] (ms)
|
||||
uint64_t time_wait; // range: [1, 600000] (ms)
|
||||
uint64_t discard_default; // range: [1, 15999999000] (ms)
|
||||
uint64_t unverified_rst; // range: [1, 600000] (ms)
|
||||
} tcp_timeout_ms;
|
||||
|
||||
// duplicate packet filter
|
||||
uint8_t duplicated_packet_filter_enable;
|
||||
uint32_t duplicated_packet_filter_capacity; // range: [1, 4294967295]
|
||||
uint32_t duplicated_packet_filter_timeout_ms; // range: [1, 60000] (ms)
|
||||
double duplicated_packet_filter_error_rate; // range: [0.0, 1.0]
|
||||
struct
|
||||
{
|
||||
uint64_t data; // range: [1, 15999999000] (ms)
|
||||
uint64_t discard_default; // range: [1, 15999999000] (ms)
|
||||
} udp_timeout_ms;
|
||||
|
||||
// evicted session filter
|
||||
uint8_t evicted_session_filter_enable;
|
||||
uint32_t evicted_session_filter_capacity; // range: [1, 4294967295]
|
||||
uint32_t evicted_session_filter_timeout_ms; // range: [1, 60000] (ms)
|
||||
double evicted_session_filter_error_rate; // range: [0.0, 1.0]
|
||||
struct
|
||||
{
|
||||
uint8_t enable; // range: [0, 1]
|
||||
uint32_t capacity; // range: [1, 4294967295]
|
||||
uint32_t time_window_ms; // range: [1, 60000] (ms)
|
||||
double error_rate; // range: [0.0, 1.0]
|
||||
} duplicated_packet_bloom_filter;
|
||||
|
||||
// TCP reassembly
|
||||
uint8_t tcp_reassembly_enable;
|
||||
uint32_t tcp_reassembly_max_timeout_ms; // range: [1, 60000] (ms)
|
||||
uint32_t tcp_reassembly_max_segments; // range: [2, 512]
|
||||
struct
|
||||
{
|
||||
uint8_t enable; // range: [0, 1]
|
||||
uint32_t capacity; // range: [1, 4294967295]
|
||||
uint32_t time_window_ms; // range: [1, 60000] (ms)
|
||||
double error_rate; // range: [0.0, 1.0]
|
||||
} evicted_session_bloom_filter;
|
||||
|
||||
struct
|
||||
{
|
||||
uint8_t enable; // range: [0, 1]
|
||||
uint32_t timeout_ms; // range: [1, 60000] (ms)
|
||||
uint32_t buffered_segments_max; // range: [2, 512]
|
||||
} tcp_reassembly;
|
||||
};
|
||||
|
||||
struct __attribute__((aligned(64))) session_manager_stat
|
||||
|
||||
Reference in New Issue
Block a user