LibreQoE / LibreQoS

A Quality of Experience and Smart Queue Management system for ISPs. Leverage CAKE to improve network responsiveness, enforce bandwidth plans, and reduce bufferbloat.
https://libreqos.io/
GNU General Public License v2.0
416 stars 47 forks source link

Separate lqosd into a BPF daemon and a bus/monitor daemon #208

Open thebracket opened 1 year ago

thebracket commented 1 year ago

Create a second daemon, and move all of the eBPF functionality into it. The daemon would sit idle, responding to signals. On start, it loads the eBPF setup - and when finished it closes it.

This would allow lqosd to be updated without affecting customer traffic.

dtaht commented 1 year ago

I would like to harden this also. But I ended up kind of writing a small C proggie for this rather than any rust at all, given how badly I understand rust, and how well I understand how to write a unix daemon. Also I yearn for being able to pass a file descriptor with a newly built bpf tree to be able to hot swap out the bpf stuff...