Commit Graph

2069 Commits

Author SHA1 Message Date
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
Robert Chacón
d9acd551f0
Update quickstart-prereq.md 2024-01-18 09:58:09 -07:00
Robert Chacón
c1ed0c2b13
Merge pull request #453 from LibreQoE/main
Main > Develop
2024-01-12 07:55:19 -07:00