Skip to content

Commit

Permalink
[202205][FlexCounters] Fixed orchagent crash issue#2395 (#2939)
Browse files Browse the repository at this point in the history
Issue seen on platforms that are not supporting queue-watermark and pg counters.
*Cherry-pick fix for orchagent crash reported in #2935
  • Loading branch information
rajkumar38 authored Oct 23, 2023
1 parent 79dab01 commit 8b280d8
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions orchagent/portsorch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6088,7 +6088,7 @@ void PortsOrch::generateQueueMap(map<string, FlexCounterQueueStates> queuesState
{
auto maxQueueNumber = getNumberOfPortSupportedQueueCounters(it.second.m_alias);
FlexCounterQueueStates flexCounterQueueState(maxQueueNumber);
if (isCreateAllQueues)
if (isCreateAllQueues && maxQueueNumber)
{
flexCounterQueueState.enableQueueCounters(0, maxQueueNumber - 1);
}
Expand Down Expand Up @@ -6226,7 +6226,7 @@ void PortsOrch::addQueueFlexCounters(map<string, FlexCounterQueueStates> queuesS
{
auto maxQueueNumber = getNumberOfPortSupportedQueueCounters(it.second.m_alias);
FlexCounterQueueStates flexCounterQueueState(maxQueueNumber);
if (isCreateAllQueues)
if (isCreateAllQueues && maxQueueNumber)
{
flexCounterQueueState.enableQueueCounters(0, maxQueueNumber - 1);
}
Expand Down Expand Up @@ -6303,7 +6303,7 @@ void PortsOrch::addQueueWatermarkFlexCounters(map<string, FlexCounterQueueStates
{
auto maxQueueNumber = getNumberOfPortSupportedQueueCounters(it.second.m_alias);
FlexCounterQueueStates flexCounterQueueState(maxQueueNumber);
if (isCreateAllQueues)
if (isCreateAllQueues && maxQueueNumber)
{
flexCounterQueueState.enableQueueCounters(0, maxQueueNumber - 1);
}
Expand Down Expand Up @@ -6486,7 +6486,7 @@ void PortsOrch::generatePriorityGroupMap(map<string, FlexCounterPgStates> pgsSta
{
auto maxPgNumber = getNumberOfPortSupportedPgCounters(it.second.m_alias);
FlexCounterPgStates flexCounterPgState(maxPgNumber);
if (isCreateAllPgs)
if (isCreateAllPgs && maxPgNumber)
{
flexCounterPgState.enablePgCounters(0, maxPgNumber - 1);
}
Expand Down Expand Up @@ -6602,7 +6602,7 @@ void PortsOrch::addPriorityGroupFlexCounters(map<string, FlexCounterPgStates> pg
{
auto maxPgNumber = getNumberOfPortSupportedPgCounters(it.second.m_alias);
FlexCounterPgStates flexCounterPgState(maxPgNumber);
if (isCreateAllPgs)
if (isCreateAllPgs && maxPgNumber)
{
flexCounterPgState.enablePgCounters(0, maxPgNumber - 1);
}
Expand Down Expand Up @@ -6671,7 +6671,7 @@ void PortsOrch::addPriorityGroupWatermarkFlexCounters(map<string, FlexCounterPgS
{
auto maxPgNumber = getNumberOfPortSupportedPgCounters(it.second.m_alias);
FlexCounterPgStates flexCounterPgState(maxPgNumber);
if (isCreateAllPgs)
if (isCreateAllPgs && maxPgNumber)
{
flexCounterPgState.enablePgCounters(0, maxPgNumber - 1);
}
Expand Down

0 comments on commit 8b280d8

Please sign in to comment.