Article ID: 957620 - Last Review: November 10, 2008 - Revision: 1.0

FIX: On a Windows CE 5.0-based device, the UDP packets are sent from all the network adapters when an application sends some UDP packets to a limited broadcast address

On This Page

Expand all | Collapse all

SYMPTOMS

You have a Microsoft Windows CE 5.0-based device that is equipped with multiple network adapters. When an application sends some User Datagram Protocol (UDP) packets to a limited broadcast address by using a socket of the SOCK_DGRAM type, the UDP packets are sent from all the network adapters. However, you expect the UDP packets to be sent from only the network adapter to which the socket is bound.

Additionally, the source IP addresses of the UDP packets are set to the IP address of the network adapter to which the socket is bound.

CAUSE

This problem occurs because of the design of the weak host model that is used in Windows CE 5.0.

RESOLUTION

Software update information

A supported software update is now available from Microsoft as Windows CE 5.0 Platform Builder Monthly Update (October 2008). You can confirm this by scrolling to the "File information" section of this article. The package file name contains the product version, date, Knowledge Base article number, and processor type. The package file name format is:
Product version-yymmdd-kbnnnnnn-processor type
For example: Wincepb50-060503-kb917590-armv4i.msi is the ARMV4i Windows CE 5.0 Platform Builder fix that is documented in KB article 917590 and that is contained in the May 2006 monthly update. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:
837392  (http://support.microsoft.com/kb/837392/ ) How to locate core operating system fixes for Microsoft Windows CE Platform Builder products
After you apply this update, you can use a socket I/O control command to force limited broadcast UDP packets to be sent from only the network adapter to which the socket is bound. After the socket is bound to a network adapter, the application that sends the limited broadcast UDP packets should call the ioctlsocket function by setting the cmd parameter to SIO_LIMIT_BROADCASTS and the argp parameter to 2.

Note Setting the argp parameter to 2 means that the UDP packets are sent from only the source.

To do this, you can use code that resembles the following.
bind(sock, ...);

u_long arg = 2; 
ioctlsocket(sock, SIO_LIMIT_BROADCASTS, &arg);

Prerequisites

This update is supported only if all previously issued updates for this product are also installed.

Restart requirement

After you apply this update, you must perform a clean build of the whole platform. To do this, use one of the following methods:
  • On the Build OS menu, make sure that the following options are selected, and then click Sysgen:
    • Clean Before Building
    • Copy Files to Release Directory After Build
    • Make Run-Time Image After Build
  • On the Build OS menu, click Open Release Directory, type blddemo clean -q at a command prompt, and then press ENTER.
You do not have to restart the computer after you apply this update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this package has the file attributes (or later file attributes) that are listed in the following table.
Collapse this tableExpand this table
File nameFile sizeDateTime
Wincepb50-081014-kb957620-armv4i.msi513,53614-Oct-200823:16
Wincepb50-081014-kb957620-mipsii.msi518,14414-Oct-200823:16
Wincepb50-081014-kb957620-mipsii_fp.msi518,65614-Oct-200823:16
Wincepb50-081014-kb957620-mipsiv.msi520,70414-Oct-200823:16
Wincepb50-081014-kb957620-mipsiv_fp.msi521,21614-Oct-200823:16
Wincepb50-081014-kb957620-sh4.msi506,36814-Oct-200823:16
Wincepb50-081014-kb957620-x86.msi497,66414-Oct-200823:16
The English version of this update has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Collapse this tableExpand this table
File nameFile sizeDateTimePath
Tcpstk.lib177,46413-Oct-200821:57Public\Common\Oak\Lib\Armv4i\Debug
Tcpstk.lib122,71213-Oct-200821:57Public\Common\Oak\Lib\Armv4i\Retail
Tcpstk.lib179,55013-Oct-200821:58Public\Common\Oak\Lib\Mipsii\Debug
Tcpstk.lib119,16013-Oct-200821:57Public\Common\Oak\Lib\Mipsii\Retail
Tcpstk.lib179,60813-Oct-200821:58Public\Common\Oak\Lib\Mipsii_fp\Debug
Tcpstk.lib119,21813-Oct-200821:58Public\Common\Oak\Lib\Mipsii_fp\Retail
Tcpstk.lib182,23013-Oct-200821:58Public\Common\Oak\Lib\Mipsiv\Debug
Tcpstk.lib120,85413-Oct-200821:58Public\Common\Oak\Lib\Mipsiv\Retail
Tcpstk.lib182,28813-Oct-200821:58Public\Common\Oak\Lib\Mipsiv_fp\Debug
Tcpstk.lib120,91213-Oct-200821:58Public\Common\Oak\Lib\Mipsiv_fp\Retail
Tcpstk.lib151,29413-Oct-200821:57Public\Common\Oak\Lib\Sh4\Debug
Tcpstk.lib111,59213-Oct-200821:57Public\Common\Oak\Lib\Sh4\Retail
Tcpstk.lib146,66613-Oct-200821:57Public\Common\Oak\Lib\X86\Debug
Tcpstk.lib113,24813-Oct-200821:57Public\Common\Oak\Lib\X86\Retail

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

For more information about the ioctlsocket function, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn.microsoft.com/en-us/library/ms738573.aspx (http://msdn.microsoft.com/en-us/library/ms738573.aspx)
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Description of the standard terminology that is used to describe Microsoft software updates

APPLIES TO
  • Microsoft Windows CE 5.0
Keywords: 
kbexpertiseadvanced kbfix kbqfe KB957620
 

Article Translations

 

Related Support Centers