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