Linearly scalable UDP server with BPF based load balancing on Linux (pavel.network) 23 points by pavel_odintsov 3y ago ↗ HN
[–] bithavoc 3y ago ↗ Great write, learned a lot. It’s incredible how there seems to be BPF programs for almost anything in the kernel. [–] pavel_odintsov 3y ago ↗ Thank you for your great feedback
[–] Already__Taken 3y 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 3y 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 3y 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
[ 341 ms ] story [ 317 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.