From 66de812352c91619999415920d39629909eb8564 Mon Sep 17 00:00:00 2001 From: Judy Joseph Date: Tue, 7 Jan 2025 21:10:09 +0000 Subject: [PATCH] Add a flag dont_clear_support_counter to support a case of not clearing the existing m_supportedCounters --- syncd/FlexCounter.cpp | 7 +++++++ syncd/FlexCounter.h | 1 + 2 files changed, 8 insertions(+) diff --git a/syncd/FlexCounter.cpp b/syncd/FlexCounter.cpp index a771bfd3e..8022ade94 100644 --- a/syncd/FlexCounter.cpp +++ b/syncd/FlexCounter.cpp @@ -859,6 +859,12 @@ class CounterContext : public BaseCounterContext _In_ sai_stats_mode_t stats_mode) { SWSS_LOG_ENTER(); + if (!m_supportedCounters.empty() && !always_check_supported_counters && !dont_clear_support_counter) + { + SWSS_LOG_NOTICE("Ignore checking of supported counters"); + return; + } + if (always_check_supported_counters) { m_supportedCounters.clear(); @@ -1658,6 +1664,7 @@ std::shared_ptr FlexCounter::createCounterContext( { auto context = std::make_shared>(context_name, SAI_OBJECT_TYPE_MACSEC_SA, m_vendorSai.get(), m_statsMode); context->use_sai_stats_capa_query = false; + context->dont_clear_support_counter = true; return context; } else if (context_name == COUNTER_TYPE_FLOW) diff --git a/syncd/FlexCounter.h b/syncd/FlexCounter.h index 18d3f3af1..757ae0af1 100644 --- a/syncd/FlexCounter.h +++ b/syncd/FlexCounter.h @@ -59,6 +59,7 @@ namespace syncd bool use_sai_stats_ext = false; bool double_confirm_supported_counters = false; bool no_double_check_bulk_capability = false; + bool dont_clear_support_counter = false; }; class FlexCounter {