On 20/07/2020 19:56, Peter J. Philipp wrote:
Other choices I considered were writing to a raw socket but it would be a lot of overhead and hard work when it comes to fragmentation.
Why are you concerned about fragmentation?Provided you don't set INP_HDRINCL then the kernel will include relevant IP headers and handle fragmentation for you (at least that's my understanding looking at NetBSD's code).
The only extra overhead you should have is writing the UDP header which is pretty straight forward.
Roy