diff --git a/vpp-snmp-agent.py b/vpp-snmp-agent.py index 1049b4a..fa99c8f 100755 --- a/vpp-snmp-agent.py +++ b/vpp-snmp-agent.py @@ -96,9 +96,14 @@ class MyAgent(agentx.Agent): def update(self): try: + self.vpp.connect() + r = self.vpp.vpp.api.control_ping() + self.logger.debug(f"VPP API: {r}") self.vppstat.connect() - except: - self.logger.error("Could not connect to VPPStats segment") + except Exception as e: + self.logger.error(f"VPP API: {e}, retrying") + self.vppstat.disconnect() + self.vpp.disconnect() return False ds = agentx.DataSet() diff --git a/vppapi.py b/vppapi.py index bf86107..6a80788 100644 --- a/vppapi.py +++ b/vppapi.py @@ -78,6 +78,8 @@ class VPPApi: if not self.connected: return True self.vpp.disconnect() + self.iface_dict = None + self.lcp_dict = None self.connected = False return True