Commit Graph

2148 Commits

Author SHA1 Message Date
Herbert Wolverson
bc60689984 Missed two files from previous commit 2024-06-14 15:07:26 -05:00
Herbert Wolverson
414f78c1d3 Add grabbing distro and kernel info 2024-06-14 13:41:16 -05:00
Herbert Wolverson
8714a407a1 Add web UI for support submissions 2024-06-14 10:59:26 -05:00
Herbert Wolverson
a74c060a60 Add IP Address information 2024-06-13 13:32:14 -05:00
Herbert Wolverson
fa4d88164e Round-trip submission to the server. 2024-06-13 13:12:10 -05:00
Herbert Wolverson
9293ea59c4 Add header data to the support dump. 2024-06-13 10:16:54 -05:00
Herbert Wolverson
464d1f4a5c Add 'expand' command to the CLI to extract dump files. 2024-06-13 10:05:11 -05:00
Herbert Wolverson
e986816081 Add Shaped Devices and Network.Json sanity checks 2024-06-13 09:27:13 -05:00
Herbert Wolverson
33cae5799b Add bridge membership and interface status checks (interface status are informational) 2024-06-13 08:41:18 -05:00
Herbert Wolverson
cbec81ab39 Refactor sanity checks for cleaner layout 2024-06-13 08:14:35 -05:00
Herbert Wolverson
bcd424fe28 First commit for the support tool. Runs sanity checks and gathers data, compresses it and can read the header back for validation. 2024-06-12 16:39:04 -05:00
Herbert Wolverson
262d122b59 Merge branch 'update_rocket_and_async_compression' into develop 2024-06-12 12:15:12 -05:00
Robert Chacón
e99a712fa3
Update integrationSplynx.py 2024-06-02 18:45:37 -06:00
Herbert Wolverson
380ae55a04 CLOSES ISSUE #368
Co-authored-by: Casey Primozic <me@ameo.link>

* Update Rocket Async Compression to version 0.6
* Update Rocket to Version 0.5.1

No substantive changes and it works as before, but the compression is faster.
2024-05-31 12:47:01 -05:00
Robert Chacón
0673a34202
Merge pull request #490 from LibreQoE/revert-487-preflight-bridge-check
Revert "Preflight bridge check"
2024-05-30 20:13:45 -06:00
Robert Chacón
b8a0d1977d
Revert "Preflight bridge check" 2024-05-30 20:13:00 -06:00
Herbert "TheBracket
55a88cbe1f
Merge pull request #486 from LibreQoE/xdp_hot_cache
Xdp hot cache
2024-05-30 10:12:14 -05:00
Herbert "TheBracket
17fb5e1d24
Merge pull request #487 from LibreQoE/preflight-bridge-check
Preflight bridge check - check that interfaces are up and not already part of a bridge
2024-05-30 10:11:46 -05:00
Herbert "TheBracket
36d41911f2
Merge pull request #488 from LibreQoE/node_manager_show_name
Change the window title for the node manager to include a specified name from the config
2024-05-30 10:11:02 -05:00
Herbert Wolverson
ab0d76eb6d Change the window title for the node manager to include a specified node name from the config. 2024-05-23 13:21:12 -05:00
Herbert Wolverson
b5f2ca1223 And if enabled with no license key, allow it to be set by a remote activation. 2024-05-23 13:12:55 -05:00
Herbert Wolverson
9b5e1b41e8 Update previous commit to use the right defaults. 2024-05-23 13:10:51 -05:00
Herbert Wolverson
6c3347b339 Change default config to enable LTS sufficiently that local stats are gathered and its ready to try. 2024-05-23 12:41:22 -05:00
Herbert Wolverson
12721dff85 ISSUE #468 - After managing to reproduce it with Robert, this should fix the actual issue. The actual problem was checked subtraction in a timer loop carefully checking for the negative - which isn't allowed - and then doing it anyway. Oops. 2024-05-23 09:55:48 -05:00
Herbert Wolverson
667fec63e9 ISSUEE #486 - Replace THROUGHPUT_BUFFER's external lock that required async with interior mutability regular lock that doesn't. This eliminates the possibility of cross-task locking issues leading to a deadlock, and reduces the surface area of the lock period also. Also replace RwLock with Mutex, the simplicity is usually a net gain. This appears to have resolved the issue for me. 2024-05-22 09:10:13 -05:00
Herbert Wolverson
a326dce33f ISSUE #486 - Fix the B to G in Plotly on the throughput graph. We're replacing it in beta 2, but that turned out to be a one-liner. 2024-05-22 08:41:49 -05:00
Herbert Wolverson
cc6d9d2d2d Missing doc block 2024-05-20 08:42:03 -05:00
Herbert Wolverson
417b545dc7 Add preflight checks that interface(s) are UP. Add a check that if XDP
bridging is enabled, there is no Linux bridge containing the listed
interfaces. If the interfaces are enabled, warnings are emitted and
the XDP bridge disabled to operate in Linux mode.
2024-05-19 21:47:47 -05:00
Herbert Wolverson
0e711dc09c Expand hot cache map size to 32k entries (as Gates would say,
that should be enough for everyone).

Add a "negative cache" element. When a "no match" item appears,
it is mapped to CPU 4294967294. That's considered a safe magic
number, because if you have that many CPUs in one box you are
really going to surprise me.

If an LPM lookup occurs, and still comes up as "no match" - then
the item is cached with this sentinel value. If a hot cache hit
returns the sentinal value, it returns NULL just like if no
hit had occurred.

This should eliminate the performance penalty that accompanies
IP addresses blasting out as fast as they can, but not being
in Shaped Devices.
2024-05-17 15:01:09 -05:00
Herbert Wolverson
8372786d46 TINY change: only set the prefixlen if we're actually going to use it. 2024-05-17 14:52:13 -05:00
Herbert Wolverson
d9eedcd804 Add cache invalidation to the hot cache. Whenever an IP mapping
changes, the cache is invalidated - meaning it will re-cache
the correct values.
2024-05-17 14:36:59 -05:00
Herbert Wolverson
6dc811968b Pin the HOT_CACHE map so it can be accessed elsewhere. 2024-05-17 14:36:59 -05:00
Herbert Wolverson
ab64113f98 Add a "hot cache" to the XDP LPM lookup system.
Adds a new BPF map (an LRU hash) containing IP addresses and
TC mapping info. IPs are first checked against the hot cache,
because a hashmap lookup is faster than an LPM lookup. If
found, the cached value is used. If not found, then the
key is inserted into the LRU map (so currently hot stays
present, others expire over time) for future cache use.
2024-05-17 14:36:59 -05:00
Herbert Wolverson
11375d34e1 Add a TRACING flag to the lqos_kern C system. If it is defined,
the entry and exit times of the XDP and TC system are recorded
in the kernel trace pipe.
2024-05-17 14:36:59 -05:00
Robert Chacón
58f898e0f0
Merge pull request #476 from LibreQoE/preflight
Preflight checks for lqosd
2024-05-17 11:14:03 -06:00
Herbert Wolverson
a6f90fc7ee Correct not displaying the "stats free trial" toast message if
stats are disabled.
2024-05-17 11:32:35 -05:00
Herbert "TheBracket
ed403f7869
Merge pull request #483 from LibreQoE/lqtop_ratatui
Merge lqtop2 into develop. Extends lqtop to include the new features we display on the dashboard, switches to ratatui. 

Co-authored-by:  Dave Täht (dtaht)
2024-05-15 10:55:52 -05:00
Herbert Wolverson
e615d26934 Add lqtop latency histo 2024-05-13 15:00:07 -05:00
Herbert Wolverson
0c8916400d Add help line to top 2024-05-13 14:41:11 -05:00
Herbert Wolverson
0c30eb5b8f Regenerate cargo lock 2024-05-13 14:24:19 -05:00
Herbert Wolverson
22104e25a3 Remove unused import 2024-05-08 16:04:51 -05:00
Herbert Wolverson
9bfce3ecec GREATLY improved ShapedDevices writer system. It now catches the changes you make, and the formatting seems to work. 2024-05-08 09:30:02 -05:00
Robert Chacón
648d20183d
Merge pull request #482 from LibreQoE/config_ui
Config UI
2024-05-06 18:17:15 -06:00
Robert Chacón
f7ca4cadef
Merge pull request #480 from LibreQoE/influx_fix_15
Re-enable InfluxDB support with the new configuration.
2024-05-06 18:16:56 -06:00
Herbert Wolverson
12e4320eaa You can now save shaped devices and network json 2024-05-06 14:05:30 -05:00
Herbert Wolverson
a4d4a6df7d Speed editing with buttons works 2024-05-03 09:26:56 -05:00
Herbert Wolverson
c3e7c84e02 Network list node deletion works 2024-05-03 09:16:12 -05:00
Herbert Wolverson
07f82661f8 Allow renaming of top-level tree items 2024-05-03 08:11:38 -05:00
Herbert Wolverson
a61070529b Promote and rename on the network tree 2024-05-02 08:49:18 -05:00
Herbert Wolverson
386003214b Include IP conflict detection. 2024-05-01 15:41:56 -05:00