Chrysalis Posted September 7, 2015 Share Posted September 7, 2015 (edited) 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 algorithmadjusting congestion window typeenabling custom template (to even use these settings)adjust initial congestion window (quite important for performance)adjust delayed ack delayadjust 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 http://powershell.org/wp/forums/topic/how-to-change-delayedackfrequencys-value/https://technet.microsoft.com/en-us/library/hh826132(v=wps.630).aspxhttp://www.speedguide.net/articles/windows-8-10-2012-server-tcpip-tweaks-5077 Now I cannot even change to the custom template see here outputPS C:\WINDOWS\system32> netsh int tcp set supplemental template=CompatOk.PS C:\WINDOWS\system32> netsh int tcp show supplementalThe TCP global default template is compatPS C:\WINDOWS\system32> netsh int tcp set supplemental template=InternetOk.PS C:\WINDOWS\system32> netsh int tcp show supplementalThe TCP global default template is internetPS C:\WINDOWS\system32> netsh int tcp set supplemental template=InternetCustomThe 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 CTCPPS 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 DCTCPSet-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 DefaultSet-NetTCPSetting : Property CongestionProvider is read-only Cannot disable nagle PS C:\WINDOWS\system32> Set-NetTCPSetting -SettingName InternetCustom -DelayedAckFrequency 1Set-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 2PS 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 2Set-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. goretsky 1 Share Link to comment https://www.neowin.net/forum/topic/1271672-set-nettcpsetting-still-incomplete-code-in-windows-10/ Share on other sites More sharing options...
Chrysalis Posted September 7, 2015 Author Share Posted September 7, 2015 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. goretsky 1 Share Link to comment https://www.neowin.net/forum/topic/1271672-set-nettcpsetting-still-incomplete-code-in-windows-10/#findComment-597023092 Share on other sites More sharing options...
Recommended Posts