Using a multishot read will save needing to resubmit an entry every time a frame is sent/received.
This would require a buffer ring to be registered with io_uring and used in place of bufs in the existing rx loop, but should add some speed improvement.