Commit Graph

451 Commits

Author SHA1 Message Date
Herbert "TheBracket
c17d269ad6 Rust licenses (#292)
* Add license specifier to all Cargo.toml files

Explicitly specify `license = "GPL-2.0-only"` in each Cargo.toml
file. The wording is from the SPX guidelines.

* Add shell script to check licenses of Rust projects

rust/check_licenses.sh automatically verifies all dependencies
for accidental usage of GPLv3. Since basically nobody in the
universe uses GPLv3, it tends not to do much.
2023-03-23 11:48:03 -07:00
Herbert Wolverson
67c2ef7a24 Merge branch 'main' of https://github.com/LibreQoE/LibreQoS 2023-03-23 13:46:40 +00:00
Robert Chacón
4acdea85d5 Add IPv6 examples 2023-03-22 20:07:03 -06:00
Robert Chacón
a5ebc755b5 Add timeout to requests 2023-03-22 15:52:49 -06:00
Robert Chacón
b7ac7cc056 Fix timeout on integrationRestHttp.py 2023-03-22 15:51:18 -06:00
Robert Chacón
822f83407a Add timeout to requests 2023-03-22 15:43:05 -06:00
Robert Chacón
75bcc598a9 Add timeout to requests 2023-03-22 15:42:32 -06:00
Herbert Wolverson
4f574cd668 Improved circuit queue graph labelling 2023-03-22 17:55:12 +00:00
Herbert Wolverson
7326163918 Combine axes on the circuit queue front tab. 2023-03-22 17:30:43 +00:00
Herbert Wolverson
7f746d71a1 Start labelling axes 2023-03-22 15:46:09 +00:00
Herbert Wolverson
1daf727374 Consistent naming: 'tree' not 'funnel'. 2023-03-22 15:34:02 +00:00
Herbert Wolverson
b05afdac0c Hyperlink trees from front-page funnel to the appropriate tree page. 2023-03-22 15:03:43 +00:00
Herbert Wolverson
ebb01286ce Correct 'DHCSP' to 'DSCP'. I think I had DHCP on my mind. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
f9b5dd7853 This should fix the eBPF validator error. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
13e65cad70 Fix a bad case of the NaNs. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
98d7bb88e1 The new Heimdall UI which requires explicitly starting capture sessions. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
4d0fd00583 Remove unused file 2023-03-22 14:39:32 +00:00
Herbert Wolverson
2779cf20c9 Rearrange Heimdall
Refactor Heimdall into a more self-contained process, separate its
operation into its own thread rather than occupying the main
tick thread.
2023-03-22 14:39:32 +00:00
Herbert Wolverson
5ff671567a Some relatively simple performance enhancements that reduce the burden of Heimdall when he's not looking. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
810823c8bb Fix verifier dislike bpf_probe 2023-03-22 14:39:32 +00:00
Herbert Wolverson
951ee4cbe5 Make it easier to change capture size at compile time, set to 128 bytes. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
17100415dd Add libpcap format support and ability to download a snapshot of the last 10 seconds in pcap format for Wireshark (or other tool) analysis. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
8288bb3f9b Extend the capture to include TCP flags, window and ACK data. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
d542bf1660 Abuse error bars to show packet durations on dump view. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
521b383ef7 Oops - packet buttons didn't render. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
eba74042dd Fix warning 2023-03-22 14:39:32 +00:00
Herbert Wolverson
d58c1cb459 Slightly more efficient circuit_queues page, and fix the issue with tin data not appearing. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
70b4230339 Switch to a lock free method of storing packets. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
f6d4542598 Add a packet dump page, and the beginnings of a packet browser at NS resolution. 2023-03-22 14:39:32 +00:00
Herbert Wolverson
450466976a Fix warnings 2023-03-22 14:39:32 +00:00
Herbert Wolverson
7180eb48dc WIP: You can now view the last 10 seconds of flow data in the API. 2023-03-22 14:39:31 +00:00
Herbert Wolverson
8f3a8a78eb CPU melting work in progress. 2023-03-22 14:33:49 +00:00
Herbert Wolverson
c70d01b3f6 VERY work in progress - do not try to use this. The good: creates a ringbuffer and successfully sends events to userspace. The bad: it's currently watching all packets, eats a lot of CPU and has a horrible lack of abstractions. 2023-03-22 14:33:48 +00:00
Herbert Wolverson
e97fb4ac11 Super ugly start to getting perf events working for Heimdall. 2023-03-22 14:32:31 +00:00
Herbert Wolverson
73ee423592 Re-hide the scary error messages that aren't actually errors. 2023-03-22 14:32:31 +00:00
Herbert Wolverson
9ba5bb2628 Add bounds check 2023-03-22 14:32:31 +00:00
Herbert Wolverson
7d055d9796 Cleanup ICMP tracking, add documentation to source code.
This should make the Heimdall branch usable.
2023-03-22 14:32:31 +00:00
Herbert Wolverson
d3feb64911 Improve ECN display 2023-03-22 14:32:31 +00:00
Herbert Wolverson
07354b868d Change rendering of marks and drops on circuits. 2023-03-22 14:32:31 +00:00
Herbert Wolverson
4372b501c9 Continue cleaning up flow display system. 2023-03-22 14:32:31 +00:00
Herbert Wolverson
64641c6849 Port map_txq_config_base_setup from C to Rust
The previous C function was pretty simple, it'd been left as C
for fast porting. It's now a safe (other than the syscall,
which is properly wrapped) Rust function.
2023-03-22 14:32:31 +00:00
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
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