PRB: UDP Datagrams Being Dropped Under Load (290206)



The information in this article applies to:

  • Microsoft Windows CE Operating System, Versions 3.0
  • Microsoft Windows CE Operating System, Versions 2.12
  • Microsoft Windows CE Operating System, Versions 2.11
  • Microsoft Windows CE Operating System, Versions 2.0

This article was previously published under Q290206

SYMPTOMS

Windows CE internally maintains a per socket queue of User Datagram Protocol (UDP) datagrams that haven't yet been processed by applications. Once this queue fills up, packets are discarded (beginning with the oldest ones first). The result is that applications that send a large number of UDP datagrams quickly can experience large amounts of packet loss.

MORE INFORMATION

The default internal UDP buffer queue size is 2. If a platform must support applications that potentially deliver more than 2 datagrams in a very short time (the time needed to process a packet, which is highly dependant on network and platform characteristics), the default limit can be raised. The value necessary would depend on the specific application, but a practical range might be 2 to 10 hex. Here is an example of the altered registry setting:

[HKEY_LOCAL_MACHINE\Comm\Afd]
DgramBuffer=dword:8

The device must be reset for this parameter to take effect.

Modification Type:MajorLast Reviewed:4/15/2004
Keywords:kbprb KB290206