Commit Graph

1337 Commits

Author SHA1 Message Date
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
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