Commit Graph

2071 Commits

Author SHA1 Message Date
Herbert Wolverson
2334922dbe Add simple lqosd startup preflight checks to warn about the most common issues: non-existent interfaces, and single queue interfaces. 2024-04-09 14:33:20 -05:00
Robert Chacón
086eaf0510
Allow Suspension UISP Flat Network 2024-03-24 11:45:30 -06:00
Robert Chacón
3aa72ee534
Merge pull request #469 from LibreQoE/netflow-doc
Update lqos.example
2024-03-21 07:54:46 -06:00
Robert Chacón
2cae280d38
Update lqos.example 2024-03-21 07:54:25 -06:00
Herbert Wolverson
a4f08f2bd5 Add a flow map icon to the main page in lqos_node_manager. 2024-03-21 08:39:44 -05:00
Robert Chacón
51c6333df2
Merge pull request #468 from LibreQoE/per_flow
Per-flow tracking system, out-of-kernel ringbuffer for RTT events, add TCP retransmissions
2024-03-21 04:00:11 -06:00
Herbert Wolverson
82d213dd89 Update to latest Rust dependencies, to fix a CVE that didn't appear to actually apply to us but showed up in the audit log. 2024-03-20 11:38:57 -05:00
Herbert Wolverson
d72dd29996 Add the ability to ignore subnets from TCP RTT tracking.
If you add:

[netflow]
do_not_track_subnets = [ "192.168.66.0/24" ]

to your lqos.conf file, the listed subnets will never have RTT data
collected. This is useful if you wish to ignore the time spent
updating a cloud management system for CPEs, for example.
2024-03-20 09:31:57 -05:00
Herbert Wolverson
c6830abae6 First try at a bubble map. 2024-03-20 08:38:25 -05:00
Herbert Wolverson
280447f79d Display worst TCP retransmits as a button in the UI. 2024-03-19 15:39:58 -05:00
Herbert Wolverson
a4c8093401 Circuit data now includes TCP retransmits. Made the tables a little less unpleasant to look at. 2024-03-19 14:13:04 -05:00
Herbert Wolverson
b01ab42a3b Nice highlighting for top 10 buttons. 2024-03-19 13:29:04 -05:00
Herbert Wolverson
e43bd00717 Fix typo 2024-03-19 12:47:56 -05:00
Herbert Wolverson
7e6146b79a Add the protocols top 10 summary 2024-03-19 12:43:49 -05:00
Herbert Wolverson
c6feebe229 Add plumbing for the top 10 displays. Display ethertypes from expired flows. 2024-03-19 12:29:52 -05:00
Herbert Wolverson
b69748dcf6 REmember to scale the unit on display 2024-03-19 09:01:12 -05:00
Herbert Wolverson
a2afa7fa9d This should fix the country RTTs. 2024-03-19 08:48:05 -05:00
Herbert Wolverson
e45bedc7ce One more try before I go and eat something... 2024-03-18 16:13:06 -05:00
Herbert Wolverson
ebc3ab73da Make the country RTTs actually add up 2024-03-18 16:05:37 -05:00
Herbert Wolverson
019d301913 Make the country RTTs actually add up 2024-03-18 16:04:43 -05:00
Herbert Wolverson
bad4429729 Last commit, but now with sensible logic. 2024-03-18 15:57:07 -05:00
Herbert Wolverson
98155a04c3 Only update flow RTT if there is data for it. 2024-03-18 15:49:31 -05:00
Herbert Wolverson
7b6da8e32e Limit RTT tracking to flows that have achieved 1 Mbps or more. 2024-03-18 10:19:50 -05:00
Herbert Wolverson
dec1440b31 Flow data: the RTT tracker now keeps track of if new data has arrived for a flow, and only reports an RTT if it has. This prevents stuck flows with no new values coming in from biasing our results. 2024-03-16 09:16:05 -05:00
Herbert Wolverson
c9600f831d RTT gathering improvement: RTTs are grouped per circuit, and then added as a single value to help preserve per-circuit sample stability. 2024-03-16 09:08:31 -05:00
Herbert Wolverson
b6eb08751c Fix order of magnitude on the display histogram. 2024-03-15 13:27:12 -05:00
Herbert Wolverson
d0e575f317 Add compatibility with the 5.x kernel version eBPF verifier. 2024-03-15 13:24:58 -05:00
Herbert Wolverson
6ce7e7a3f9 Strongly type RTT data in the throughput tracker to reduce confusion. 2024-03-15 13:03:49 -05:00
Herbert Wolverson
b8937bf9c2 Basic web UI update to show numbers in the right units 2024-03-15 12:55:23 -05:00
Herbert Wolverson
9d0e536089 Use a dual-structure to store RTT in both directions. 2024-03-15 12:29:47 -05:00
Herbert Wolverson
9938a94caf Comment out console log that was annoying me 2024-03-15 12:19:59 -05:00
Herbert Wolverson
beda42194a Include RTT events per second tracking in the /api/stats call 2024-03-15 12:18:19 -05:00
Herbert Wolverson
f44af37670 WIP - Compiles RTT data into the tracker, strong type RTTs to clarify the unit confusion. Web side is not done yet. 2024-03-15 12:15:11 -05:00
Herbert Wolverson
56b170f7e4 Truly minimal RTT to userspace eBPF ringbuffer implementation. This
breaks a lot of things - no RTTs are currently recorded or acted
upon. The goal is to measure the scale of the load hit for receiving
these events.
2024-03-15 09:45:49 -05:00
Herbert Wolverson
3ad023f69c Fix circuit flows display from last patch. 2024-03-15 09:02:07 -05:00
Herbert Wolverson
318e20dad7 These numbers line up on the iZones tracker, with wireshark dumps for comparison. This is a WIP - don't apply this. Unbreaking some of my previous code. 2024-03-15 08:32:06 -05:00
Herbert Wolverson
56dd4b6750 It's not quite done yet, but I spent the last 2 hours matching observed RTT, checking with Wireshark, and looking to see if the numbers line up. Implements a small buffer for RTT values per flow. Shrinks some stack entries. Will require a map rebuild. 2024-03-14 14:07:06 -05:00
Herbert Wolverson
69508d2753 Remove two variables and use pointers instead to save stack space. 2024-03-14 12:40:33 -05:00
Herbert Wolverson
a937820a87 Move rate estimate from 64-bits to 32-bits, saving some bytes. 2024-03-14 11:03:43 -05:00
Herbert Wolverson
8ec361b095 Fix a reporting message that was meant to be compile-conditional. 2024-03-14 10:42:22 -05:00
Herbert Wolverson
fbb3960b50 Warning fix 2024-03-14 08:52:36 -05:00
Herbert Wolverson
eab9df4874 Missing file from previous commit 2024-03-13 14:56:59 -05:00
Herbert Wolverson
fb91e8313a Very silly commit - adds a /showoff page to the node manager firing particles from all endpoints at my ISP in Missouri. Will turn into something useful in the future. 2024-03-13 14:45:53 -05:00
Herbert Wolverson
a63ff0a6f1 Rename all flowbee "retries" to "tcp_retransmits" in code, and
"retransmits" in visible HTML.
2024-03-13 08:20:36 -05:00
Herbert Wolverson
fae96280b9 Actually limit the top 10 endpoints to being 10 2024-03-12 16:41:57 -05:00
Herbert Wolverson
c16f06b0ab Sort countries by download bytes not upload 2024-03-12 15:47:29 -05:00
Herbert Wolverson
66a19c04a4 First example of an actual summary report - we can group flow endpoints in a 5-minute report. 2024-03-12 15:19:07 -05:00
Herbert Wolverson
1fb5838ebe Remove a test call that was spamming the logs. 2024-03-12 14:46:47 -05:00
Herbert Wolverson
e46aafe5ae Silly performance: making 12k mutex locks when I need one was really dumb. 2024-03-12 14:20:35 -05:00
Herbert Wolverson
5a3f90412d Working geocode system, albeit not as useful as I hoped. 2024-03-12 14:02:36 -05:00