Hi bvincent,
I read through the thread and I write here a few thoughts. I hope you'll find something useful.
The 24ms delay is rather big for UDP. I get better performance with TCP, which is a far more complex transport protocol, with Nios running at 100MHz. Then I think there's an intrinsic flaw you are missing. Offloading UDP may not be the solution.
I'm concerned about the use of OSPend you mentioned in the original post: are you sure the 24ms delay is not related to OS? maybe because of non optimal thread priorities or any other problem with task switching?
Another thing to check is the UDP packet you send: is it well formed? do destination MAC and IP match those of your interface? If not, I guess the lower IP layer would try to route the packet to a non existent interface and it would lose time or wait for a timeout.
About Wireshark I can confirm you it is somewhat accurate down to 1 or 2ms; I obtained this accuracy even with Windows on a 10 years old machine.
For more help, can you please clarify a point you didn't answer: Does the sequence of 24ms spaced udp packets continue indefinitely or it blocks after a while, possibly with an error message from nios jtag terminal?
Regards