Getsockopt() Function Returns a Different Maximum UDP Message Size Than You Expect in Windows 2000 SP3 (822061)



The information in this article applies to:

  • Microsoft Windows 2000 Advanced Server SP3
  • Microsoft Windows 2000 Datacenter Server SP3
  • Microsoft Windows 2000 Professional SP3
  • Microsoft Windows 2000 Server SP3
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Datacenter Server SP2
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows 2000 Server SP2

SYMPTOMS

When you use the Getsockopt() function with the SO_MAX_MSG_SIZE option to obtain the maximum User Datagram Protocol (UDP) message size on a Windows 2000 Service Pack 3 (SP3)-based computer, a value of 65507 is returned. Before you installed Windows 2000 SP3, this value was 65527.

CAUSE

This behavior occurs because the value that is returned by Getsockopt() with the SO_MAX_MSG_SIZE option is incorrect on pre-Windows 2000 SP3 installations.

The correct maximum UDP message size is 65507, as determined by the following formula:

0xffff - (sizeof(IP Header) + sizeof(UDP Header)) = 65535-(20+8) = 65507

STATUS

Microsoft has confirmed that this is a problem in Windows 2000 Service Pack 2. This problem was first corrected in Microsoft Windows 2000 Service Pack 3.

MORE INFORMATION

For additional information about how to obtain the latest Windows 2000 Service Pack, click the article number below to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack


Modification Type:MajorLast Reviewed:8/1/2003
Keywords:kbinfo kbBug KB822061 kbAudDeveloper