610d03a14b
Refactor README.md
2021-09-12 16:31:13 +00:00
5051ab32ce
Update README with the -h/--help argparse hint
2021-09-12 16:22:22 +00:00
6d0ed88722
Add argparse and a few useful arguments
...
Now that we're explicitly connecting via TCP to localhost:705 (which
can be overriden by the -a flag), we no longer need to run as root.
Therefore, update vpp-snmp-agent.service to run as user Debian-snmp
group vpp, so that /run/vpp/{api,stats}.sock are writable.
Be explicit on the commandline arguments in the service definition.
2021-09-12 16:19:33 +00:00
7206d92f40
Move all loggers to be members of the class, not global objects
2021-09-12 16:08:35 +00:00
9265e211e3
Swap oper/admin status (they were the wrong way around)
2021-09-12 14:09:23 +00:00
96f2a3b4b3
Move to /usr/sbin instead of /usr/local/sbin
2021-09-11 12:55:28 +00:00
c72890868c
s/freq/period/ to be more precies; Set default period to 30s; set wait period on reconnect to 10s; Add explicit INFO logline when replacing dataset
2021-09-11 12:45:28 +00:00
8c9c1e2b4a
Replace the pyagentx threaded version with a much simpler, non-threaded version.
2021-09-11 12:19:38 +00:00
842bce9d6e
Add server_address to initializer, allow for unix path (starts with /) or hostname:port address
2021-09-11 08:13:21 +00:00
0c0e4fc14a
A better way to specify netns
...
See docs:
https://www.freedesktop.org/software/systemd/man/systemd.exec.html#NetworkNamespacePath=
2021-09-05 21:02:11 +00:00
184d2eceb2
Restart agent on failure
2021-09-05 20:26:47 +00:00
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
8256c6abfc
Update README with build/run instructions
2021-09-05 15:39:26 +00:00
a621d560cd
Correct enumeration off-by-one; OID .14 doesn't exist
2021-09-05 15:26:13 +00:00
954fd2e5b6
Run as root
2021-09-05 15:25:54 +00:00
51eee915bf
initial checkin
2021-09-05 15:13:12 +00:00