Set-NetTCPSetting still incomplete code in windows 10?


Recommended Posts

So prior to windows 7, network configuration was done between the registry and the netsh int commands.

In windows 8 microsoft moved some of this to Set-NetTCPSetting but a lot of it was locked down as readonly I assume due to it been feature incomplete.

I thought surely years later in windows 10 this very important code would be operational but seems it is still locked down :(

So adjustments include enabling/disabling nagle algorithm
adjusting congestion window type
enabling custom template (to even use these settings)
adjust initial congestion window (quite important for performance)
adjust delayed ack delay
adjust slow start on recovery behaviour

Some of these were not adjustable at all in windows 7, but the ones that were did work, competing operating systems such as linux allow full adjustment.

According to microsoft docum,entation all these can be adjusted however their documentation seems out of sync with the code.

References here

Now I cannot even change to the custom template see here output
PS C:\WINDOWS\system32> netsh int tcp set supplemental template=Compat
PS C:\WINDOWS\system32> netsh int tcp show supplemental
The TCP global default template is compat
PS C:\WINDOWS\system32> netsh int tcp set supplemental template=Internet
PS C:\WINDOWS\system32> netsh int tcp show supplemental
The TCP global default template is internet
PS C:\WINDOWS\system32> netsh int tcp set supplemental template=InternetCustom
The parameter is incorrect.

InternetCustom is a valid template and is what should be used when using non defaults, but the code rejects it. Internet and Compat are read only templates with hard coded values.

To view template settings run this command (I wont paste output here as is very large) 'Get-NetTCPConnection' it will show all templates and the values for the templayes, only templates ending in Custom are not read only or at least should be.  However most of the values are read only in the custom templates, see examples here.

This is a value that isnt locked as read only that works.

PS C:\WINDOWS\system32> Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider CTCP
PS C:\WINDOWS\system32>

However lets try enabling DCTCP the setting thats used in the Datacenter template.

PS C:\WINDOWS\system32> Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider DCTCP
Set-NetTCPSetting : Property CongestionProvider is read-only

Woooh, suddenly its read only?

Likewise cannot change it to Default which is used in the Compat template (default = newreno).

PS C:\WINDOWS\system32> Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider Default
Set-NetTCPSetting : Property CongestionProvider is read-only

Cannot disable nagle :(

PS C:\WINDOWS\system32> Set-NetTCPSetting -SettingName InternetCustom -DelayedAckFrequency 1
Set-NetTCPSetting : Property DelayedAckFrequency is read-only

However if we set the current value suddenly its not read only.

PS C:\WINDOWS\system32> Set-NetTCPSetting -SettingName InternetCustom -DelayedAckFrequency 2
PS C:\WINDOWS\system32>

To prove it isnt just accepting current values, I try to modify the read only Internet template.

PS C:\WINDOWS\system32> Set-NetTCPSetting -SettingName Internet -DelayedAckFrequency 2
Set-NetTCPSetting : Only the custom templates InternetCustom and DatacenterCustom can be modified.
At line:1 char:1

So unless I have got something wrong (not according to microsoft documentation) it seems we have another unfinished feature out in the wild :(

Has been raised via enterprise support channels, so will see what microsoft do.

Link to comment
Share on other sites

Ok the response is they locked it down on desktop versions of the OS.

They are considering partially unlocking it for the pro version but they said it would be just partial support, they are also considering changing the defaults of the initial congestion window from 4 to 10 packets to suit faster broadband connections but leaving it as 4 on the compat template.

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.