Herbert Wolverson
370b65fa67
Compromise on 10ms sampling time for rate estimation. Giving pretty accurate results on my tests, and not hitting the CPU too hard.
2024-02-29 11:19:35 -06:00
Herbert Wolverson
23f2cfb9d8
Reduce the flow rate estimation frequency from 1 second to 1 ms.
...
This reduces round-error issues and is generally more accurate -
at the expense of slightly higher CPU usage and a "more bouncy"
rate - that is, for a widely variable flow such as Netflix it
jumps around a lot more. I remain unconvinced that 1ms is the
right number - will continue to test.
Thanks again to Simon Sundberg for this suggestion.
2024-02-29 11:05:37 -06:00
Herbert Wolverson
7d6cbd417a
* Remove most code duplication by tracking rate_index and its reciprocal.
...
* Significantly nicer comments.
* I used a ternary operator. Please shoot me.
Thanks to Simon Sundberg for this recommendation.
2024-02-29 10:17:28 -06:00
Herbert Wolverson
8f343b7c3b
More flexible API for 'top N' calculations based on flow buffer.
2024-02-29 09:10:31 -06:00
Herbert Wolverson
0659cda225
Managed to reduce the amount of space required in the XDP metadata buffer to 32 bits.
2024-02-29 08:45:41 -06:00
Herbert Wolverson
9de53853e7
Improve comments on metadata
2024-02-29 08:28:33 -06:00
Herbert Wolverson
f84798885b
Add a stub for listing top flows by current bitrate.
2024-02-28 15:03:03 -06:00
Herbert Wolverson
7516715874
Add a real-time flow counter to the display and API.
2024-02-28 14:44:20 -06:00
Herbert Wolverson
393c3adc2a
* Restore the tc_dissector, I didn't mean to remove that.
...
* Add SKB metadata support for pass-through and eliding the
second LPM check if we can. Checks at run-time to see if
it is possible.
2024-02-28 12:52:04 -06:00
Herbert Wolverson
95b7c9ac5c
No more second stage dissector.
2024-02-28 10:32:02 -06:00
Herbert Wolverson
22d56a71bf
Correct the ordering of src/dst ports in the flow map.
2024-02-28 09:56:59 -06:00
Herbert Wolverson
ff4c070b7d
Improve the JSON transfer data by listing protocol explicitly for flowbee.
2024-02-28 09:51:43 -06:00
Herbert Wolverson
29b0e07867
Massive improvement in RTT tracking accuracy.
2024-02-28 09:29:20 -06:00
Herbert Wolverson
e98a1864ad
Add a new api call - api/flows/dump_all - that lists all recent flows that have been collected. Intended for debugging.
2024-02-27 16:22:22 -06:00
Herbert Wolverson
df2b9dfe32
Integrate the flow data into the moving average system for RTTs, giving a better spread of results.
2024-02-27 14:54:29 -06:00
Herbert Wolverson
f33d22faa0
In progress. The RTT data from the flows system is integrated into the high-level per-IP RTT tracker.
2024-02-27 14:06:13 -06:00
Herbert Wolverson
b7c02d251d
Warning fix
2024-02-27 11:56:36 -06:00
Herbert Wolverson
8fa53782c6
Work in progress. Add endian conversions. Add Rust interface for iterating the flows list. Add a temporary interface that dumps flow data to the console to prove that it works.
2024-02-27 11:53:18 -06:00
Herbert Wolverson
bfc9b8227c
Skeleton for including UDP and ICMP flow data.
2024-02-27 10:38:17 -06:00
Herbert Wolverson
c7df905e24
WIP - cleanup done, TCP is mostly working on the server-side.
2024-02-27 10:30:48 -06:00
Herbert Wolverson
0fd6b29e6c
Considerably cleaned up flow tracking system.
2024-02-26 20:36:37 -06:00
Robert Chacón
4829861eb5
Merge pull request #460 from LibreQoE/rchac-patch-12
...
Fix UISP Integration Bug - Disconnected Sites Should Still Be Shaped
2024-02-16 06:59:48 -07:00
Robert Chacón
16efa540f3
Update integrationUISP.py
2024-02-16 06:55:52 -07:00
Herbert Wolverson
23487f3328
The flows now include their very own rate estimator, and only count RTT when rate exceeds a threshold - 5mbps right now, which is probably not a good choice.
2024-02-14 14:56:46 -06:00
Herbert Wolverson
1ca595b16c
Hacking away - remove the fin/reset flags because they shouldn't be needed.
2024-02-14 14:40:58 -06:00
Herbert Wolverson
295caaad91
Very early days - kinda/sorta working per-flow work.
2024-02-14 13:51:55 -06:00
Herbert Wolverson
088eed555a
Correct URL in device_weights.rs
2024-02-08 13:21:56 -06:00
Herbert Wolverson
05d2a398a3
Add a device_weights() call to the Python API
...
Adds the ability to call device_weights() from liblqos_python.
This returns a set of objects containing circuit_id and weight.
1. The weights are loaded from ShapedDevices.csv using HALF the
maximum download mbps.
2. If LTS is enabled, a REST call is made to an LTS API located at
https:/stats.libreqos.io/api/device_weights and the results
merged in (overwiting existing entries).
3. The merged weights are returned as a Python array of classes.
Example Python code:
```python
from liblqos_python import get_weights;
weights = get_weights();
for w in weights:
print(w.circuit_id + " : " + str(w.weight));
```
2024-02-08 12:01:12 -06:00
Herbert Wolverson
d412851560
WIP
2024-02-08 08:32:58 -06:00
Herbert "TheBracket
206ba2641f
Merge pull request #459 from LibreQoE/unifig
...
Unified Configuration System
2024-02-07 12:55:32 -06:00
Herbert Wolverson
7180dd7950
BUGFIX: We weren't correctly honouring requests to use a Linux bridge. This patch fixes it.
2024-02-05 11:33:32 -06:00
Herbert Wolverson
f7c9e82173
Just starting - display some packet info
2024-02-05 11:28:31 -06:00
Herbert Wolverson
3ab165a591
Re-add InfluxDB Support to the unified configuration.
2024-02-04 21:29:02 -06:00
Herbert Wolverson
1ee3543eb1
Add documentation updates for the unified config
2024-02-04 20:55:31 -06:00
Robert Chacón
989f38c0f7
Update share.md
2024-01-28 08:55:29 -07:00
Herbert Wolverson
699e265850
Add some small documentation for adding config items.
2024-01-27 10:12:57 -06:00
Herbert Wolverson
e0e81ed715
Finish porting the Sonar integration over
2024-01-27 10:06:46 -06:00
Herbert Wolverson
8a812fe190
Update the parts of the Sonar configuration that are ported. Still have to figure out some types.
2024-01-27 09:46:46 -06:00
Herbert Wolverson
9c2747de37
Update the scheduler to use the latest config system
2024-01-27 09:42:11 -06:00
Herbert Wolverson
ed5cbbc29c
Add the beginnings of the Sonar integration into the config system. Add defaults for every Python field to reduce the chances of getting a partial config.
2024-01-27 09:30:54 -06:00
Herbert Wolverson
a24c51065f
Fix on-a-stick typo messing up vlans
2024-01-26 16:36:36 -06:00
Herbert Wolverson
d851161670
General warning and documentation pass.
2024-01-26 16:33:35 -06:00
Herbert Wolverson
50bc071db1
Fix issue with queueRefreshInterval being optional but not treated as such, and breaking things.
2024-01-26 16:33:26 -06:00
Herbert Wolverson
84f7562d54
Add line to example file to complete on-a-stick outline.
2024-01-26 16:08:29 -06:00
Herbert Wolverson
b1b01b89a6
Update cargo packages to latest releases, update rocket and sysinfo to newer syntaxes.
2024-01-26 12:50:30 -06:00
Herbert Wolverson
8cd8b7d404
Update example.toml to include the powercode required fields
2024-01-26 11:49:24 -06:00
Herbert Wolverson
3769bc3d84
Merge branch 'main' into unifig
2024-01-26 11:42:19 -06:00
Robert Chacón
bb3700202e
Update README.md
2024-01-23 11:03:34 -07:00
Robert Chacón
232942a216
Update README.md
2024-01-18 10:14:32 -07:00
Robert Chacón
d39322eaaf
Update Compute.md
2024-01-18 10:06:05 -07:00