Skip to content

Commit 8c17d4b

Browse files
authored
Revert "Do not enter vendor SAI critical section for counter polling/clearing operations (#1450)" (#1541)
Revert "Do not enter vendor SAI critical section for counter polling/clearing operations (#1450)" This reverts commit 0317b16.
1 parent 3df03e1 commit 8c17d4b

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

syncd/VendorSai.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,7 @@ sai_status_t VendorSai::getStats(
313313
_In_ const sai_stat_id_t *counter_ids,
314314
_Out_ uint64_t *counters)
315315
{
316+
MUTEX();
316317
SWSS_LOG_ENTER();
317318
VENDOR_CHECK_API_INITIALIZED();
318319

@@ -350,6 +351,7 @@ sai_status_t VendorSai::getStatsExt(
350351
_In_ sai_stats_mode_t mode,
351352
_Out_ uint64_t *counters)
352353
{
354+
MUTEX();
353355
SWSS_LOG_ENTER();
354356
VENDOR_CHECK_API_INITIALIZED();
355357

@@ -364,6 +366,7 @@ sai_status_t VendorSai::clearStats(
364366
_In_ uint32_t number_of_counters,
365367
_In_ const sai_stat_id_t *counter_ids)
366368
{
369+
MUTEX();
367370
SWSS_LOG_ENTER();
368371
VENDOR_CHECK_API_INITIALIZED();
369372

@@ -383,6 +386,7 @@ sai_status_t VendorSai::bulkGetStats(
383386
_Inout_ sai_status_t *object_statuses,
384387
_Out_ uint64_t *counters)
385388
{
389+
MUTEX();
386390
SWSS_LOG_ENTER();
387391
VENDOR_CHECK_API_INITIALIZED();
388392

@@ -410,6 +414,7 @@ sai_status_t VendorSai::bulkClearStats(
410414
_In_ sai_stats_mode_t mode,
411415
_Inout_ sai_status_t *object_statuses)
412416
{
417+
MUTEX();
413418
SWSS_LOG_ENTER();
414419
VENDOR_CHECK_API_INITIALIZED();
415420

unittest/syncd/TestVendorSai.cpp

+22
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,28 @@ TEST(VendorSai, bulkGetStats)
156156
nullptr));
157157
}
158158

159+
TEST(VendorSai, getStatsExt)
160+
{
161+
VendorSai sai;
162+
sai.apiInitialize(0, &test_services);
163+
ASSERT_EQ(SAI_STATUS_NOT_SUPPORTED, sai.getStatsExt(SAI_OBJECT_TYPE_NULL,
164+
SAI_NULL_OBJECT_ID,
165+
0,
166+
nullptr,
167+
SAI_STATS_MODE_READ,
168+
nullptr));
169+
}
170+
171+
TEST(VendorSai, clearStats)
172+
{
173+
VendorSai sai;
174+
sai.apiInitialize(0, &test_services);
175+
ASSERT_EQ(SAI_STATUS_NOT_SUPPORTED, sai.clearStats(SAI_OBJECT_TYPE_NULL,
176+
SAI_NULL_OBJECT_ID,
177+
0,
178+
nullptr));
179+
}
180+
159181
sai_object_id_t create_port(
160182
_In_ VendorSai& sai,
161183
_In_ sai_object_id_t switch_id)

0 commit comments

Comments
 (0)