Error 10013 (WSAEACCES) is returned when a second bind to a excluded port fails in Windows

Symptoms

Assume that you exclude a port by running the following command on a computer that is running Windows Server 2012 R2, Windows Server 2012, or Windows Server 2008 R2:
netsh int ipv4 add excludedportrange protocol = tcp startport = Integer numberofports = 1

Additionally, assume that you bind the SO_REUSEADDR socket to a specific TCP port on the computer. In this situation, when you try to bind the SO_REUSEADDR socket to the TCP port again, the bind fails, and you receive the "WSAEACCES (10013)" error.

Therefore, if you use an application that calls the two binds in Windows Server 2012 R2, Windows Server 2012, or Windows Server 2008 R2, it cannot work correctly.

Notes
  • By default, Windows Server 2008 R2 cannot use the netsh command to exclude ports. However, after you apply hotfix 2665809, the operating system supports this function.
  • This issue does not occur in Windows Server 2008 or Windows Server 2003.

Cause

This issue occurs because of a problem in the tcpip.sys driver. Specifically, the REUSE flag was overwritten by the RESERVED flag when the tcpip.sys driver binds an excluded port.

Workaround

To work around this issue, use one of the following methods: 

Status

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

More Information

See the setsockopt function to know more about the SO_REUSEADDR option.


Properties

Article ID: 3039044 - Last Review: Feb 25, 2015 - Revision: 1

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows Server 2012 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Standard, Windows Server 2012 Standard, Windows Server 2012 Standard, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2012 Foundation, Windows Server 2012 Foundation, Windows Server 2012 Foundation, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Foundation

Feedback