Maximum UDP output w/ TCP/IP 4.25

I’m attempting to transmit a large amount of data (around 3MB per second), over a UDP socket, but it seems that the data
is being truncated after ~2MB has been transmitted. Is there some kind of hard limit on how much data a UDP socket can
transmit? If so is there any way to increase this amount?


The limits are related to three things.

  1. The bandwidth of your network hardware.
    This includes the raw bandwidth of the wire as well as any limitations the NIC might put on things. Consider for example how fast is the CPU to card bandwidth over PCI.
    If you are using a switch rather than a hub, it might also create limitations.
    The general traffic on your network could also be a problem.

  2. The speed of your CPU

  3. The efficiency of the software, which includes application, driver and OS.

I don’t believe that there’s any other arbitrary limit to UDP.
Since you are using QNX 4, I’m going to guess that you are using a 100TX network.
100Mbits is approximately 10 Mbytes. So given all the other constraints, what you are getting is in the ballpark. The fact that it looks like only 20% efficiency is probably related to one of the constraints mentioned above. My guess is that it’s probably related to the NIC.

My guess is the CPU, you are probably pushing more packets then the hardware can transmit. If that is the case the stack will drop them.

Check with netstat -s (statistic ) to get more info from the udp section why the packets are dropped