Linearly scalable UDP server with BPF based load balancing on Linux (pavel.network) 23 points by pavel_odintsov 2y ago ↗ HN
[–] bithavoc 2y ago ↗ Great write, learned a lot. It’s incredible how there seems to be BPF programs for almost anything in the kernel. [–] pavel_odintsov 2y ago ↗ Thank you for your great feedback
[–] Already__Taken 2y ago ↗ So do you reach for bpf then ebpf or can you just go straight for ebpf? How limited is the compute? Can I make an ebpf DHCP server for example? [–] pavel_odintsov 2y ago ↗ eBPF requires way more tooling which I find excessive for such easy task.More complicated load balancing protocols may need more complicated balancing microcode and eBPF will be helpful in this case.One of the main differences between BPF and eBPF is number of allowed instructions and it's very big for eBPF.I think you can do XDP based DHCP server in theory and keep state in eBPF map. Not sure that it does make any sense but clearly doable.
[–] pavel_odintsov 2y ago ↗ eBPF requires way more tooling which I find excessive for such easy task.More complicated load balancing protocols may need more complicated balancing microcode and eBPF will be helpful in this case.One of the main differences between BPF and eBPF is number of allowed instructions and it's very big for eBPF.I think you can do XDP based DHCP server in theory and keep state in eBPF map. Not sure that it does make any sense but clearly doable.
4 comments
[ 2.8 ms ] story [ 17.5 ms ] threadMore complicated load balancing protocols may need more complicated balancing microcode and eBPF will be helpful in this case.
One of the main differences between BPF and eBPF is number of allowed instructions and it's very big for eBPF.
I think you can do XDP based DHCP server in theory and keep state in eBPF map. Not sure that it does make any sense but clearly doable.