diff --git a/conf/stellar.toml b/conf/stellar.toml index d50c2cf..bbefa23 100644 --- a/conf/stellar.toml +++ b/conf/stellar.toml @@ -13,9 +13,9 @@ cpu_mask = [5, 6, 7, 8, 9, 10, 11, 12] [ip_reassembly] enable = 1 -timeout = 10000 # range: [1, 60000] (ms) -bucket_entries = 8 # range: [1, 256] (must be power of 2) -bucket_num = 4096 # range: [1, 4294967295] +timeout = 10000 # range: [1, 60000] (ms) +bucket_entries = 256 # range: [1, 4294967295] (must be power of 2) +bucket_num = 4096 # range: [1, 4294967295] [session_manager] # max session number @@ -53,4 +53,4 @@ evicted_session_filter_error_rate = 0.00001 # range: [0.0, 1.0] # TCP reassembly (Per direction) tcp_reassembly_enable = 1 tcp_reassembly_max_timeout = 10000 # range: [1, 60000] (ms) -tcp_reassembly_max_segments = 128 # range: [2, 512] +tcp_reassembly_max_segments = 256 # range: [2, 4096] diff --git a/src/ip_reassembly/ip_reassembly.cpp b/src/ip_reassembly/ip_reassembly.cpp index c0ae372..fc667dd 100644 --- a/src/ip_reassembly/ip_reassembly.cpp +++ b/src/ip_reassembly/ip_reassembly.cpp @@ -66,7 +66,7 @@ enum IP_LAST_FRAG_IDX, IP_FIRST_FRAG_IDX, IP_MIN_FRAG_NUM, - IP_MAX_FRAG_NUM = 8, + IP_MAX_FRAG_NUM = 64, }; struct ip_frag_hdr @@ -208,9 +208,9 @@ static int check_options(const struct ip_reassembly_options *opts) return -1; } - if (opts->bucket_entries < 1 || opts->bucket_entries > 256 || is_power_of_2(opts->bucket_entries) == 0) + if (opts->bucket_entries < 1 || is_power_of_2(opts->bucket_entries) == 0) { - IP_REASSEMBLE_DEBUG("invalid bucket_entries: %u, supported range: [1, 256] (must be power of 2)", opts->bucket_entries); + IP_REASSEMBLE_DEBUG("invalid bucket_entries: %u, must be power of 2", opts->bucket_entries); return -1; } diff --git a/src/ip_reassembly/ip_reassembly.h b/src/ip_reassembly/ip_reassembly.h index 736cc1f..de81280 100644 --- a/src/ip_reassembly/ip_reassembly.h +++ b/src/ip_reassembly/ip_reassembly.h @@ -9,7 +9,7 @@ struct ip_reassembly_options { uint8_t enable; uint32_t timeout; // range: [1, 60000] - uint32_t bucket_entries; // range: [1, 256] (must be power of 2) + uint32_t bucket_entries; // range: [1, 4294967295] (must be power of 2) uint32_t bucket_num; // range: [1, 4294967295] }; diff --git a/src/session/session_manager.cpp b/src/session/session_manager.cpp index 65ca17b..2a22678 100644 --- a/src/session/session_manager.cpp +++ b/src/session/session_manager.cpp @@ -225,9 +225,9 @@ static int check_options(const struct session_manager_options *opts) SESSION_LOG_ERROR("invalid tcp_reassembly_max_timeout: %u, supported range: [1, 60000]", opts->tcp_reassembly_max_timeout); return -1; } - if (opts->tcp_reassembly_max_segments < 2 || opts->tcp_reassembly_max_segments > 512) + if (opts->tcp_reassembly_max_segments < 2 || opts->tcp_reassembly_max_segments > 4096) { - SESSION_LOG_ERROR("invalid tcp_reassembly_max_segments: %u, supported range: [2, 512]", opts->tcp_reassembly_max_segments); + SESSION_LOG_ERROR("invalid tcp_reassembly_max_segments: %u, supported range: [2, 4096]", opts->tcp_reassembly_max_segments); return -1; } } diff --git a/test/packet_inject/conf/stellar.toml b/test/packet_inject/conf/stellar.toml index 171a42a..5aa7c7e 100644 --- a/test/packet_inject/conf/stellar.toml +++ b/test/packet_inject/conf/stellar.toml @@ -14,7 +14,7 @@ cpu_mask = [5] [ip_reassembly] enable = 1 timeout = 10000 # range: [1, 60000] (ms) -bucket_entries = 8 # range: [1, 256] (must be power of 2) +bucket_entries = 8 # range: [1, 4294967295] (must be power of 2) bucket_num = 4096 # range: [1, 4294967295] [session_manager] @@ -53,4 +53,4 @@ evicted_session_filter_error_rate = 0.00001 # range: [0.0, 1.0] # TCP reassembly (Per direction) tcp_reassembly_enable = 1 tcp_reassembly_max_timeout = 10000 # range: [1, 60000] (ms) -tcp_reassembly_max_segments = 128 # range: [2, 512] +tcp_reassembly_max_segments = 128 # range: [2, 4096]