First iteration of a Python module for direct bus interaction

* Adds the `lqos_python` module to the Rust build system.
* `lqos_python` exposes an API for calling bus commands
  directly, instead of via a helper. Currently, "is alive"
  for testing the daemon, and IP mappings are exported.
* Update the build script to build the .so file and put
  it where Python can find it.
* Exclude the binary from Git.
* Update `LibreQoS.py` to use bus commands for clearing,
  deleting IP mappings. Adding is not yet covered, due
  to the way commands are batched - and that not yet being
  supported by the library.
* Add a check to `LibreQoS.py` that the `lqosd` daemon
  is running and accepting connections. Abort if it isn't,
  since nothing else will work anyway.

Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
This commit is contained in:
Herbert Wolverson
2023-01-04 19:39:29 +00:00
parent bd5ace9fbf
commit b01b9520a5
8 changed files with 278 additions and 7 deletions

1
.gitignore vendored
View File

@@ -47,6 +47,7 @@ src/queuingStructure.json
src/tinsStats.json
src/linux_tc.txt
src/lastRun.txt
src/liblqos_python.so
# Ignore Rust build artifacts
src/rust/target