Commit Graph

2237 Commits

Author SHA1 Message Date
Herbert Wolverson
baa18bd322 ISSUE #518 - Add Flush command to xdp_iphash_to_cpu_cmdline. I'm not sure if anyone actually uses that tool, but now it's supported. 2024-07-11 09:24:28 -05:00
Herbert Wolverson
abdcdafef5 ISSUE #518 - Make hot cache invalidation explicit
The "add ip mapping" call was flushing the XDP 'hot cache'. That was fine in testing, and not working well at scale:

* Each table wipe locks the associated underlying hash map.
* Running 1200+ clears means waiting for 1200 occasions in which packets don't already have a hold on the lock (eBPF doesn't expose the locking mechanisms, so we can't change that behavior)
* The result is that under load, it can take a REALLY long time to reload the shaping stack without pausing traffic.

Instead, add_ip_mapping no longer clears the hot cache. An explicit invalidation call has been added to the bus, and added to the end of the batched IP map updates. This reduces the number of table locks from 1200+ to 2 (once for clearing the IP map, once for clearing the cache).
2024-07-11 09:22:37 -05:00
Herbert Wolverson
a13fb0482e Remove spurious semicolon. Not the sollution to ISSUE #518 - but let's clean it up while we're here. 2024-07-11 09:04:33 -05:00
Herbert Wolverson
8ce08333ba FIXES #507 - Use VERSION_STRING in setup assistant banner. 2024-07-09 09:50:39 -05:00
Herbert Wolverson
759e983a2f Merge remote-tracking branch 'refs/remotes/origin/develop' into develop 2024-07-09 09:28:33 -05:00
Herbert Wolverson
6b94e67faa ISSUE #511
Replace instant::now/subtraction with a Tokio scheduled ticker, in "skip" mode to handle time overruns.
2024-07-09 09:27:59 -05:00
Jarosław Kłopotek - INTERDUO
a5eb4b61e4
build_dpkg.sh: use requirements.txt file for installing python depend… (#510)
* build_dpkg.sh: use requirements.txt file for installing python dependancies (fix for issue #506)

* restore removed --break-system-packages by mistake
2024-07-09 09:09:42 -05:00
Herbert "TheBracket
fbefdf813e
Merge pull request #509 from interduo/patch-34
build_dpkg.sh: use VERSION_STRING file instead setting everywhere version mark
2024-07-09 09:07:01 -05:00
Herbert "TheBracket
eb592fc8d3
Merge pull request #500 from LibreQoE/post_integration_hooks
Post integration hooks for scheduler.conf
2024-07-09 09:04:57 -05:00
Robert Chacón
bef5dea9af
Update integrationSplynx.py 2024-07-04 08:59:29 -06:00
Jarosław Kłopotek - INTERDUO
425af46d88 build_dpkg.sh: use VERSION_STRING file instead setting everywhere version mark 2024-07-03 06:31:12 +00:00
Herbert "TheBracket
7c351a1c3d
Merge pull request #502 from interduo/patch-32
build_rust.sh improvements for ubuntu 24.04 LTS
2024-06-28 08:26:20 -05:00
Jarosław Kłopotek - INTERDUO
a031719baf build_rust.sh - lets simplyfy requirements 2024-06-28 09:48:20 +00:00
Jarosław Kłopotek - INTERDUO
3ad129f841 build_rust.sh - make is required 2024-06-28 09:04:14 +00:00
Jarosław Kłopotek - INTERDUO
32a417327a build_rust.sh - libssl-dev is also required during compilation 2024-06-28 08:15:38 +00:00
Jarosław Kłopotek - INTERDUO
0adcfd93bb build_rust.sh - use apt instead of apt-get 2024-06-28 08:15:38 +00:00
Jarosław Kłopotek - INTERDUO
28d2eab949 improvement: add rustup command check and suggests installing it if its required 2024-06-28 08:15:38 +00:00
Herbert Wolverson
dbd1b6b46d And this time with the parameters the right way around. 2024-06-27 16:22:31 -05:00
Herbert Wolverson
68abb2b5b4 Possible solution to libpython linkage issues for .deb build 2024-06-27 16:14:33 -05:00
Herbert Wolverson
09c3d0c3ff Update build_dpkg commands to issue 2024-06-27 15:21:59 -05:00
Herbert "TheBracket
81677b173e
Merge pull request #498 from LibreQoE/beta_15_version_mark
Update the global version string, triggering upgrade prompts.
2024-06-25 13:01:12 -05:00
Herbert Wolverson
ceb8f90e1f Update deb build script to new major version. 2024-06-25 12:06:13 -05:00
Herbert Wolverson
857f13c0c3 ISSUE #501 Apply route overrides TO-FROM and FROM-TO, rather than being order specific. Add a diagnostic output to indicate the override was used. 2024-06-25 11:51:30 -05:00
Herbert Wolverson
f4e4c7d226 Remove ispConfig example from the dpkg build, since we no longer use it. 2024-06-25 09:46:03 -05:00
Herbert Wolverson
66d71debd5 Deb packager includes the new integrations. 2024-06-25 09:26:43 -05:00
Herbert Wolverson
1d6411bfd4 Update Rust dependencies, pre-release. 2024-06-25 09:19:13 -05:00
Herbert Wolverson
383c410eed ISSUE #501. Don't ignore the first line of the incoming file as a header. Generally clean up the loading routine. 2024-06-25 08:56:07 -05:00
Herbert Wolverson
18344c7cd2 Add support for bin/post_integration_hook.sh in scheduler.py
Scheduler.py now checks for the existence of a `bin/post_integration_hook.sh`
script. If it exists, it is executed immediately after CRM updating and
before LibreQoS is refreshed.

This gives an opportuntity to start adding additional chains of calls
to work with your shaped devices and network.json after CRM retrieval,
and before pushing to live.
2024-06-19 15:20:34 -05:00
Herbert Wolverson
2958314d5f UISP Integration - make squash more conservative about which sites it adjusts bandwidth. Clients only. 2024-06-18 09:21:35 -05:00
Herbert Wolverson
4930c47ab0 ISSUE #499
* Adds a "get LibreQOS directory" function to the Python library.
* Uses it to establish the correct location for uisp_integration.
* Modifies `scheduler.py` to call the new UISP integration directly.
2024-06-17 08:50:57 -05:00
Herbert Wolverson
6ed0b88104 Remove one more stale unit test 2024-06-15 10:16:09 -05:00
Herbert Wolverson
ea6d0b6006 Fix a unit test that had aged beyond the code it was testing and was no longer valid. 2024-06-15 10:11:02 -05:00
Herbert Wolverson
3c6cae7959 CLOSES #497
This replaced PR #497, and applies the same updates - now taking
into account the merged code.
2024-06-15 09:50:23 -05:00
Herbert "TheBracket
24f59e1d3d
Merge pull request #491 from LibreQoE/preflight-bridge-check
Preflight bridge check with relaxed interface status checks
2024-06-15 09:49:17 -05:00
Herbert "TheBracket
ced169f1cd
Merge pull request #479 from LibreQoE/uisp_integration_2
Uisp integration 2
2024-06-15 09:44:53 -05:00
Herbert Wolverson
c9f9c51e7e Merge with develop to resolve update conflicts and preserve building both the support tool and this branch (both modified build scripts on the same lines) 2024-06-15 09:43:11 -05:00
Herbert Wolverson
564eb7297b Cargo.lock update 2024-06-15 09:37:39 -05:00
Herbert Wolverson
2dbdd1c038 Re-enable AP speed selection. 2024-06-15 09:15:01 -05:00
Herbert Wolverson
20a7e3512d Fix a subtle bug that when squashing sites that only have one decendent, speeds were being applied incorrectly. 2024-06-15 09:15:01 -05:00
Herbert Wolverson
779ef162d3 Trying Robert's suggestion for using min when promoting access devices. 2024-06-15 09:15:01 -05:00
Herbert Wolverson
680851b5a8 I believe this fixes the client site speed issue. 2024-06-15 09:15:01 -05:00
Robert Chacón
420b6e1ca6 Update mikrotikFindIPv6.py 2024-06-15 09:15:01 -05:00
Herbert Wolverson
b51c7a35bc Now with the mising file. Sorry. 2024-06-15 09:15:01 -05:00
Herbert Wolverson
a72e6ae4ff Implement a full PyO3 system to run mikrotikFindIPv6.py in-process as part of the uisp_integration run, and retrieve results. The results are then applied. 2024-06-15 09:14:58 -05:00
Herbert Wolverson
bb75727940 Second environment variable override option. Set LQOS_CONFIG to the location of a .conf file, and that one will be loaded instead of the hard-coded path. This is also intended to help with multiple instances. 2024-06-15 09:14:53 -05:00
Herbert Wolverson
297bdcd58e Add support for LQOS_DIRECTORY environment variable overriding the
saved value when loading the config file.

If LQOS_DIRECTORY is not set, nothing happens.

If LQOS_DIRECTORY is set---for example with:

```
export LQOS_DIRECTORY="/opt/libreqos2"
```

Then the directory is overridden in the loaded configuration from
the environment variable.

This is designed to make it easier to have multiple instances---for
example for building configuration and then distributing it.
2024-06-15 09:14:53 -05:00
Robert Chacón
78c2388501 Update bandwidth_overrides.rs 2024-06-15 09:14:53 -05:00
Robert Chacón
b4619da030 Update network_json.rs 2024-06-15 09:14:53 -05:00
Herbert Wolverson
21b1f4d24b More unit tests for bandwidth overrides 2024-06-15 09:14:53 -05:00
Herbert Wolverson
1952498ce2 Add documentation and cleanup 2024-06-15 09:14:53 -05:00