From 6bb1efb373a1c95f85cc606d4bb751b421185cc3 Mon Sep 17 00:00:00 2001 From: Suvarna Meenakshi Date: Sat, 7 Dec 2024 01:36:23 +0000 Subject: [PATCH] Handle error seen when interface counter is not available in COUNTERS_DB Signed-off-by: Suvarna Meenakshi --- src/sonic_ax_impl/mibs/ietf/rfc2863.py | 4 +++- .../mibs/vendor/cisco/ciscoPfcExtMIB.py | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/sonic_ax_impl/mibs/ietf/rfc2863.py b/src/sonic_ax_impl/mibs/ietf/rfc2863.py index e5a41a0b8..892a59675 100644 --- a/src/sonic_ax_impl/mibs/ietf/rfc2863.py +++ b/src/sonic_ax_impl/mibs/ietf/rfc2863.py @@ -250,7 +250,9 @@ def _get_counter(self, oid, table_name, mask): if oid in self.oid_lag_name_map: counter_value = 0 for lag_member in self.lag_name_if_name_map[self.oid_lag_name_map[oid]]: - counter_value += self._get_counter(mibs.get_index_from_str(lag_member), table_name, mask) + member_counter = self._get_counter(mibs.get_index_from_str(lag_member), table_name, mask) + if member_counter: + counter_value += member_counter return counter_value & mask diff --git a/src/sonic_ax_impl/mibs/vendor/cisco/ciscoPfcExtMIB.py b/src/sonic_ax_impl/mibs/vendor/cisco/ciscoPfcExtMIB.py index b2b6bb2de..d3ea3a5be 100644 --- a/src/sonic_ax_impl/mibs/vendor/cisco/ciscoPfcExtMIB.py +++ b/src/sonic_ax_impl/mibs/vendor/cisco/ciscoPfcExtMIB.py @@ -121,7 +121,9 @@ def cpfc_if_requests(self, sub_id): if oid in self.oid_lag_name_map: counter_value = 0 for lag_member in self.lag_name_if_name_map[self.oid_lag_name_map[oid]]: - counter_value += self._get_counter(mibs.get_index_from_str(lag_member), counter_name) + member_counter = self._get_counter(mibs.get_index_from_str(lag_member), counter_name) + if member_counter: + counter_value += member_counter return counter_value else: @@ -143,7 +145,9 @@ def cpfc_if_indications(self, sub_id): if oid in self.oid_lag_name_map: counter_value = 0 for lag_member in self.lag_name_if_name_map[self.oid_lag_name_map[oid]]: - counter_value += self._get_counter(mibs.get_index_from_str(lag_member), counter_name) + member_counter = self._get_counter(mibs.get_index_from_str(lag_member), counter_name) + if member_counter: + counter_value += member_counter return counter_value else: @@ -215,7 +219,9 @@ def requests_per_priority(self, sub_id): if port_oid in self.oid_lag_name_map: counter_value = 0 for lag_member in self.lag_name_if_name_map[self.oid_lag_name_map[port_oid]]: - counter_value += self._get_counter(mibs.get_index_from_str(lag_member), counter_name) + member_counter = self._get_counter(mibs.get_index_from_str(lag_member), counter_name) + if member_counter: + counter_value += member_counter return counter_value else: @@ -245,7 +251,9 @@ def indications_per_priority(self, sub_id): if port_oid in self.oid_lag_name_map: counter_value = 0 for lag_member in self.lag_name_if_name_map[self.oid_lag_name_map[port_oid]]: - counter_value += self._get_counter(mibs.get_index_from_str(lag_member), counter_name) + member_counter = self._get_counter(mibs.get_index_from_str(lag_member), counter_name) + if member_counter: + counter_value += member_counter return counter_value else: