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

Applies to: Windows Server 2012 R2 DatacenterWindows Server 2012 R2 StandardWindows Server 2012 R2 Essentials


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.

  • 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.


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.


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


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.