Commit Graph

11 Commits

Author SHA1 Message Date
9b39aa61c2 Clamp all COUNTER32 at mod 2^32 2021-09-05 20:15:06 +00:00
7dec1329d2 Turn VPPApi into a threadsafe object
It now is tolerant to VPP restarts. Upon initialization, we connect(),
blocking all but the first thread from trying. The rest will see
self.connected=True and move on.

Then, on each/any error, call vpp.disconect() and set connected=False
which will make any subsequent AgentX updater run force a reconnect.
2021-09-05 20:02:11 +00:00
e1cddc8c26 Add VPP API support to retrieve mtu/ifspeed/operstatus/adminstatus/mac 2021-09-05 19:39:20 +00:00
238471d25f Ensure more updates can fit in the queue, allow scaling to 20 variables on 1000 interfaces 2021-09-05 18:23:23 +00:00
2e7aa607e4 Add most of the standard (32bit) ifTable.ifEntry MIB, the 5 that are left will require vpp_papi support, coming next 2021-09-05 18:12:02 +00:00
ac8c323abf Ensure VPPStat() is connected before each read; if VPP restarts, we'll lose the connection, and this ensures that once VPP comes back up, we'll re-connect to it seemlessly 2021-09-05 16:19:44 +00:00
21f2e9dc72 format yapf 2021-09-05 16:14:11 +00:00
7afd82c928 Remove cache, read directly and constantly from MMAP -- the update threads only fire every 10s anyway; so even a hammering snmp client won't interact with VPP more than once-per-10s 2021-09-05 16:11:23 +00:00
80bbc754e4 Consistently clear ifstat members 2021-09-05 15:47:15 +00:00
a621d560cd Correct enumeration off-by-one; OID .14 doesn't exist 2021-09-05 15:26:13 +00:00
51eee915bf initial checkin 2021-09-05 15:13:12 +00:00