The only way you'll guarantee the not discard any of the packets (assuming they actually reach your ethernet interface) is to have enough buffering for the entire packet burst availably directly to the ethernet MAC unit - eg some kind of descriptor DMA engine with over 512 rx buffers.
(Well, a full hardware (or 95% hardware) solution might work - but you'd have to implement what is effectively an ethernet switch.)
Do some sums: 512 bytes UDP data + (about) 48 bytes header is about 4500bits. At 100M (ethernet) your 100MHz nios has about 4500 clocks to process each packet. Run the network at Ge speeds and that might drop as low as 450 - depending on the performance of the sender.
Hand crafted code might manage to process the packets, but a general UDP/IP stack wont. And you wouldn't want the processor to be doing anything else at all.