Herbert Wolverson
93e8afae71
Replace unsafe bpf_num_possible_cpus() with safe Rust function.
...
Port the C from `bpf_num_possible_cpus()` over to safe Rust,
with proper error handling and unit tests to ensure that it
is giving the correct answers. Change usages to the new safe
function.
2023-03-22 14:32:31 +00:00
Herbert Wolverson
130c888e22
Heimdall now only watches those who request to be watched by default.
2023-03-22 14:32:30 +00:00
Herbert Wolverson
e1346f9d47
Rename the branch to Heimdall
2023-03-22 14:31:32 +00:00
Herbert Wolverson
fad3e7858a
Minimally working functionality
2023-03-22 14:30:48 +00:00
Herbert Wolverson
aecc5f0d95
First play with the idea of storing stats about each TCP/UDP/ICMP flow as it traverses the network.
2023-03-22 14:30:14 +00:00
Herbert Wolverson
9639ceeb6b
Merge branch 'anonymouse'
2023-03-21 17:48:53 +00:00
Herbert Wolverson
f6318d8652
Change 'map ip' to add or insert, rather than just insert. This allows for speedy changes without a remove, making it an atomic operation. So you can add a new queue, change the IP/net, and wait a few seconds before deleting the old one to avoid packet loss during reloads.
2023-03-21 17:46:51 +00:00
Herbert Wolverson
5ba2d2f256
Merge branch 'main' of https://github.com/LibreQoE/LibreQoS
2023-03-21 17:23:17 +00:00
Herbert Wolverson
769b9e73bd
Include high traffic watermark in stats
2023-03-21 17:22:48 +00:00
Herbert Wolverson
98364a8526
More granular version numbering for DPKG builds
2023-03-21 16:33:58 +00:00
Robert Chacón
d862b3d67f
Update README.md
2023-03-21 09:54:01 -06:00
Robert Chacón
ce040a777e
Update README.md
2023-03-21 08:22:04 -06:00
Robert Chacón
1ec43473a2
Update README.md
2023-03-21 08:21:44 -06:00
Herbert Wolverson
f42a1a5908
build_rust.sh checks for dependencies
...
On start, the "build_rust.sh" script checks for the availability
of bpftool, pkg-config and clang/LLVM. If these aren't found, it
fires up an "apt-get install" for the appropriate packages.
2023-03-21 13:17:46 +00:00
Herbert Wolverson
e415d699db
Make the SQL and unique id less dumb! Use the machine-id file that is automatically generated and hash it for node id.
2023-03-20 20:25:32 +00:00
Herbert Wolverson
84e4306b22
Don't change lqos.conf, generate a node ID hash based on ip link output.
2023-03-20 19:47:30 +00:00
Herbert Wolverson
26efcdb208
Proof of concept with a tiny webserver
2023-03-20 19:17:21 +00:00
Herbert Wolverson
b19b8b356b
Truly minimal stats server, but it works.
2023-03-20 19:17:21 +00:00
Herbert Wolverson
ef5ffa4e64
Start to add sqlite db - we'll probably use postgres, but I wanted something for testing.
2023-03-20 19:17:21 +00:00
Herbert Wolverson
c1c5f3bba4
Initial stats collection protocol.
2023-03-20 19:17:20 +00:00
Herbert Wolverson
6d1519b9aa
Setup asks about anonymous access.
2023-03-20 19:16:07 +00:00
Herbert Wolverson
adc3bb8eeb
dpkg setup adds an auto-generated node-id
2023-03-20 19:16:07 +00:00
Herbert Wolverson
8146472479
More data in anonymous stats.
2023-03-20 19:16:07 +00:00
Herbert Wolverson
08e7788efb
Basic data structures and collection for anonymous usage collection.
2023-03-20 19:16:07 +00:00
Herbert Wolverson
5805d9860e
Add anonymous usage options to lqos.conf and the example file.
2023-03-20 19:16:07 +00:00
Herbert Wolverson
beead5a303
Backport the TC_HANDLE parser to main.
...
Replace C code with native Rust, including unit tests to find the
edge-cases.
2023-03-20 17:40:03 +00:00
Herbert "TheBracket
6fe9748ea4
Merge pull request #282 from LibreQoE/issue_183_fussy
...
Issue 183 fussy
2023-03-20 11:53:20 -05:00
Herbert Wolverson
e7e7a089ee
Round memory numbers.
2023-03-20 16:52:17 +00:00
Herbert Wolverson
f0aaa05e38
Tin graphs have a height of 200 instead of 150.
...
This removes the wrapping error on the legend.
2023-03-20 16:50:00 +00:00
Herbert Wolverson
62ea9c7038
Backport markers mode for drops graphs
...
Tins display markers rather than lines for drops graphs.
2023-03-20 16:43:09 +00:00
Herbert Wolverson
6668214d09
So 0 number of seconds is actually zero.
2023-03-20 16:33:40 +00:00
Herbert Wolverson
b56e44b1d2
At the expense of a nice margin/gutter. Sigh.
2023-03-20 16:12:56 +00:00
Herbert Wolverson
efdf522d1a
italic to make it more visible.
2023-03-20 16:10:06 +00:00
Herbert Wolverson
d14526e0a5
ISSUE #183 - Remove the redundant "dashboard" link from all pages,
...
since the logo already links to the dashboard.
2023-03-20 16:07:08 +00:00
Herbert "TheBracket
1ada4e5a5c
Build deb as part of Continuous Integration ( #281 )
...
Build the .deb release as part of the Github Actions run. The .deb file is available for download as an artifact of that build for 90 days. Please squash this commit.
2023-03-20 08:32:04 -07:00
Robert Chacón
44518e76a5
Fix race condition where partial reload runs at same time
2023-03-19 20:50:22 -06:00
Robert Chacón
b9adea70f4
Multiple fixes to partial reload
2023-03-15 20:25:56 -06:00
Robert Chacón
1d3ce0f725
Update README.md
2023-03-10 08:19:50 -07:00
Herbert "TheBracket
4f9bc7e867
Merge pull request #279 from LibreQoE/the-funnel
...
Merge the funnel branch
2023-03-09 09:12:36 -06:00
Dave Taht
38a6ccbbba
Merge branch 'main' of github.com:LibreQoE/LibreQoS
2023-03-09 06:52:50 -08:00
Dave Taht
c2098880c3
InterfaceA vs InterfaceB
...
So far new users have got these two parameters inverted more
than 50% of the time, with roughly the same probability of
toast landing buttered side down.
Rewriting the python to read the toml, or accessing rust via
the bus, would make this mistake impossible.
I would really like to retire ispConfig.py entirely.
2023-03-09 06:51:07 -08:00
Herbert Wolverson
23736eaab7
Correct logic for detecting if the bandwidth test is already running. compare_exchange returns the CURRENT value, not the NEW value.
2023-03-09 14:25:43 +00:00
Robert Chacón
f102b6622e
Screenshot update
2023-03-08 15:34:31 -07:00
Herbert Wolverson
798e65b107
Properly redact funnel entry names on the circuit_queue page.
2023-03-08 22:23:18 +00:00
Herbert Wolverson
6575517040
Squish JSON into MsgPack for most common queries, resulting in a big reduction in bandwidth usage.
2023-03-08 21:08:38 +00:00
Herbert Wolverson
b1091a94aa
Add the beginnings of internal stats keeping for lqosd and a not-advertised /api/stats page to view.
2023-03-08 19:25:30 +00:00
Herbert Wolverson
bbbe1e5b83
The watched queues structure no longer RwLocks - it's an interior mutable DashMap now.
2023-03-08 18:17:17 +00:00
Herbert Wolverson
c5dca04ade
Update tree tracker RTT store to use a DashSet for lock-free access.
2023-03-08 18:01:10 +00:00
Herbert Wolverson
10cf95e5c9
Success: the ThroughputTracker system is lock-free, other than interior locking on the DashMap.
2023-03-08 17:48:36 +00:00
Herbert Wolverson
395b8e0857
Throughput tracker unlocking part 2, cycle is an atomic.
2023-03-08 17:29:15 +00:00