{ CountType::SUM, "memcap_prunes", "sessions pruned due to memcap" },
{ CountType::SUM, "ha_prunes", "sessions pruned by high availability sync" },
{ CountType::SUM, "stale_prunes", "sessions pruned due to stale connection" },
- { CountType::SUM, "closed_prunes", "sessions pruned due to stream closed" },
+ { CountType::SUM, "flows_closed", "number of flows closed and removed from the flow cache" },
{ CountType::SUM, "expected_flows", "total expected flows created within snort" },
{ CountType::SUM, "expected_realized", "number of expected flows realized" },
{ CountType::SUM, "expected_pruned", "number of expected flows pruned" },
stream_base_stats.memcap_prunes = flow_con->get_prunes(PruneReason::MEMCAP);
stream_base_stats.ha_prunes = flow_con->get_prunes(PruneReason::HA);
stream_base_stats.stale_prunes = flow_con->get_prunes(PruneReason::STALE);
- stream_base_stats.closed_prunes = flow_con->get_prunes(PruneReason::STREAM_CLOSED);
+ stream_base_stats.flows_closed = flow_con->get_prunes(PruneReason::STREAM_CLOSED);
stream_base_stats.reload_freelist_flow_deletes = flow_con->get_deletes(FlowDeleteState::FREELIST);
stream_base_stats.reload_allowed_flow_deletes = flow_con->get_deletes(FlowDeleteState::ALLOWED);
stream_base_stats.reload_offloaded_flow_deletes= flow_con->get_deletes(FlowDeleteState::OFFLOADED);
TcpNormalizer::NormStatus TcpNormalizerMissed3whs::apply_normalizations(
TcpNormalizerState& tns, TcpSegmentDescriptor& tsd, uint32_t, bool)
{
+ if ( !tns.session->flow->two_way_traffic() )
+ return NORM_OK;
+
uint32_t seq = tsd.get_seq();
uint32_t r_win_base = tns.tracker->r_win_base;
uint32_t diff = seq - r_win_base;