bugfix: call duplicated packet filter too many times
This commit is contained in:
@@ -211,9 +211,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 > 32)
|
||||
if (opts->tcp_reassembly_max_segments < 2 || opts->tcp_reassembly_max_segments > 512)
|
||||
{
|
||||
SESSION_LOG_ERROR("invalid tcp_reassembly_max_segments: %u, supported range: [2, 32]", opts->tcp_reassembly_max_segments);
|
||||
SESSION_LOG_ERROR("invalid tcp_reassembly_max_segments: %u, supported range: [2, 512]", opts->tcp_reassembly_max_segments);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -312,7 +312,7 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum s
|
||||
return;
|
||||
}
|
||||
|
||||
if (flags & TH_SYN)
|
||||
if (unlikely(flags & TH_SYN))
|
||||
{
|
||||
tcp_reassembly_set_recv_next(half->assembler, half->seq + 1);
|
||||
}
|
||||
@@ -630,7 +630,7 @@ static struct session *session_manager_new_tcp_session(struct session_manager *m
|
||||
session_timer_update(mgr->sess_timer, sess, now + timeout);
|
||||
session_table_add(mgr->tcp_sess_table, key, sess);
|
||||
|
||||
if (session_get_stat(sess, dir, STAT_RAW_PKTS_RX) < 3 && mgr->opts.duplicated_packet_filter_enable)
|
||||
if (mgr->opts.duplicated_packet_filter_enable)
|
||||
{
|
||||
duplicated_packet_filter_add(mgr->dup_pkt_filter, pkt, now);
|
||||
}
|
||||
@@ -696,11 +696,6 @@ static int session_manager_update_tcp_session(struct session_manager *mgr, struc
|
||||
// update tcp
|
||||
tcp_update(mgr, sess, dir, tcp_layer, now);
|
||||
|
||||
if (mgr->opts.duplicated_packet_filter_enable)
|
||||
{
|
||||
duplicated_packet_filter_add(mgr->dup_pkt_filter, pkt, now);
|
||||
}
|
||||
|
||||
// set closing reason
|
||||
if (next_state == SESSION_STATE_CLOSING && !session_get_closing_reason(sess))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user