top | item 37292755

Linearly scalable UDP server with BPF based load balancing on Linux

23 points| pavel_odintsov | 2 years ago |pavel.network

4 comments

order

Already__Taken|2 years 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|2 years 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.

bithavoc|2 years ago

Great write, learned a lot. It’s incredible how there seems to be BPF programs for almost anything in the kernel.