Hello Shawn,
Did you look at the vma_recv_callback_t interface in vma_extra.h?
Your application can create all sockets + specific multiple bonded port, go into epoll and practically never come out. All packets will be received and passed to the application on that single recv_callback in a synchronized way. This will also allow processing of all packets as they come on the wire even if they came from different UDP sockets.
Hope this help.
If not lets understand what is the difference and plan how to close the gap.
Alex