Here is another issue that showed up on the transmission graphs:
On the reception side (the top timeline on the graph), a packet loss seems to translate into a long silence (longer than just what to be expected from the lost packets) followed by a big burst of data. There's some buffering at play here and I don't want it. It wouldn't help at all with controlling an RC model!
Fortunately there's some control over that: it is possible to set the size of the sending and receiving buffers on a per-socket basis. This is done using the setsockopt function with SO_RCVBUF or SO_SND_BUF as parameters.
So I went on to expose these buffer sizes as tweakable parameters of my test definition file.
By setting these buffer to the size of the packet I transmit, I expected to achieved a more steady transmission. And indeed, in the same test conditions, it seemed to fix this particular burst problem.