What's the performance situation of the wg-go implementation now? I recalled there's a utun device API limitation that each packet requires a syscall. Is there any progress to avoid the overhead?
I imagine that io_uring or similar work could help here - provide the kernel with a submission queue and a completion queue once, and just keep feeding it buffers to fill without syscalls.
That's what I'd assume but I've never seen anyone doing that yet.
That would be because io_uring is incredibly new and I don't think the tuntap driver supports it yet.