Can't set netsh int tcp set supplemental

Hello!

Seems like I can't operate within netsh int tcp set supplemental preferences. When I try to set congestion provider the 'old way' with

"netsh int tcp set global congestionprovider=ctcp"

in elevated command prompt, Windows 8 saying that I must do it now with

"netsh int tcp set supplemental"

But that doesn't work either. All I can do with that new command is set template, but only one is available - "internet", and it's already set to it.

I want to set ctcp, ICW and minrto, but I can't, here's what me getting:

http://s10.postimage.org/jrpkudg53/suplemental.png

The syntax is right, even example doesn't work.

The problem exists in Windows 8 CP, RP and in this build.

Sorry for my English. Thanks in advance.



  • Edited by temp776 Tuesday, September 11, 2012 9:05 AM
  • Changed type Niki HanModerator Wednesday, September 19, 2012 3:29 AM
September 11th, 2012 9:04am

The problem exists in Windows 8 CP, RP and in this build.

A regression (or botched integration) of a W7 hotfix?  <eg>

<title>You cannot customize some TCP configurations by using the netsh command in Windows Server 2008 R2</title>

http://support.microsoft.com/kb/2472264

 

---


Free Windows Admin Tool Kit Click here and download it now
October 21st, 2012 4:55pm

The use of netsh int tcp set global congestionprovider=ctcp has been depreciated.  In order to set or change the congestionprovider the following command must be used:

netsh int tcp set supplemental custom 300 10 ctcp disabled 50
...

This does not work. Error message is something like "Request is not supported" (translated from german). I also tried other values such as dctcp or default, and also tried setting it on "internet" instead of "custom". Still I get the same error all the time.

And as Nuck stated, the PowerShell command "set-nettcpsetting -CongestionProvider CTCP" also does not work ("property is read-only").

Please, could someone from the networking team look into this and try to get it working?

Edit: When using get-nettcpsetting, it shows CTCP for Internet, although netsh shows "none" (for global, i cannot find a way to show it for "internet"). This is all really confusing. Some help would be highly appreciated.

  • Edited by Lukas F Wednesday, January 23, 2013 7:46 PM
January 23rd, 2013 7:37pm

You need Windows Server 2012 for changing internet templates. I think they are specifically blocked the possibility of changing templates for Windows 8

Thanks for sharing.

Windows 8.1 is coming in August, I bet, they will not gonna change it until then. Or ever. :)


Not really a big deal in HomePC, but in Windows 7 you were able to change this setting.

  • Edited by temp776 Wednesday, May 15, 2013 9:37 AM
Free Windows Admin Tool Kit Click here and download it now
May 15th, 2013 9:35am

Hello!

Seems like I can't operate within netsh int tcp set supplemental preferences. When I try to set congestion provider the 'old way' with

"netsh int tcp set global congestionprovider=ctcp"

in elevated command prompt, Windows 8 saying that I must do it now with

"netsh int tcp set supplemental"

But that doesn't work either. All I can do with that new command is set template, but only one is available - "internet", and it's already set to it.

I want to set ctcp, ICW and minrto, but I can't, here's what me getting:

http://s10.postimage.org/jrpkudg53/suplemental.png

The syntax is right, even example doesn't work.

The problem exists in Windows 8 CP, RP and in this build.

Sorry for my English. Thanks in advance.



IT'S WORKING!
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
"0200"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"1700"=hex:00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Only those values I entered by hand


June 10th, 2013 3:45pm

Hi Chriggsiii,

Again sorry for the late response and your troubles.  I don't monitor these forums as often as I should. 

You're running into these problems because you are looking at the settings through netsh.  When we started moving our TCP setting to the templates we failed to keep netsh updated. The most reliable way to view your TCP settings is now through PowerShell. 

In your case, on your Windows 8 laptop, I assume you are running a client machine.  By default, the client template is Internet and this *CANNOT* be changed on a client machine.  That is why you get the error message, "Set supplemental command failed to set the global default template." 

Second, I just confirmed that the Congestion Control Provider set to none is being overridden by the Internet template.  I apologize again that this is so confusing and I am going to submit a bug to try and get this removed in future releases.  You will want to run the Get-NetTcpSetting cmdlet, look at the Internet template and you will see that the Congestion Provider is set to CTPC. 

That being said, I don't know why you are seeing worse performance on an 8 machine.  But for me to troubleshoot this I would have to take a closer look at your machine.  Take a look at the above settings and just confirm that I am right. 

Let me know if you have any other questions.

Thanks,

Gabriel Silva

Program Manager, Windows Core Networking

Free Windows Admin Tool Kit Click here and download it now
August 2nd, 2013 7:12pm

iCeOL8TRAmnesia,

I am a Program Manager with the Windows Core Networking team and actually worked on the new Datacenter Custom and Internet Custom templates for Windows Servers 2012 R2 that you mention above. This is why I am knowledgeable about the templates. 

That being said, we are aware that the documentation out there is limited and are working diligently on getting more documentation out for TCP and the templates more specifically. I am going to be writing a blog post in the next week or two and hope to have something more official (I.e. TechNet article) out soon.  I will come back here and link to it. 

In the meantime, I will give you a brief overview of the templates to hold you over.  

To get general information on the templates, open PowerShell and run 'Get-NetTcpSetting' cmdlet. This will give you the information on all the templates on the system.  

If you are running Windows Server 2012, you will only see one custom template.  On Windows Server 2012 R2 you will see two, Internet Custom and Datacenter Custom.  These are the only templates that are configurable.  You can change the different individual settings on each template by using the 'Set-NetTcpSetting' cmdlet.  An example:

'Set-NetTcpSetting -SettingName DatacenterCustom -InitialCongestionWindowMss 10'

This will change the -InitialCongestionWindowMss setting in the Datacenter Custom template. Now that you know how to change the templates, you can apply templates in a couple of different ways.  You apply a template globally to all connections, to a subnet or a set of ports. Let's say you want to apply the new DatacenterCustom template you just configured globally, use the cmdlet:

'New-NetTransportFilter -SettingName DatacenterCustom'

More information can be found on the cmdlet here, NetTransportFilter.

Hope this helps and is enough to get you started.  Feel free to ask more questions and as mentioned earlier, I'll come back and post any links to new material here. 

Thanks,
Gabriel Silva
Program Manger, Windows Core Networking

  • Edited by gsilva (MSFT) Friday, August 02, 2013 10:16 PM Included link for NetTransportFilter
August 2nd, 2013 10:15pm

PS C:\Users\name> Get-NetTransportFilter
Get-NetTransportFilter : Toegang geweigerd.
At line:1 char:1
+ Get-NetTransportFilter
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (MSFT_NetTransportFilter:ROOT/StandardCi...TransportFilter) [Get-NetTransportFilter], CimException
    + FullyQualifiedErrorId : Windows System Error 5,Get-NetTransportFilter
 

PS C:\Users\name> New-NetTransportFilter
cmdlet New-NetTransportFilter at command pipeline position 1
Supply values for the following parameters:
SettingName: Internet
New-NetTransportFilter : This feature is available on servers only.
At line:1 char:1
+ New-NetTransportFilter
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (MSFT_NetTransportFilter:ROOT/StandardCi...TransportFilter) [New-NetTransportFilter], CimException
    + FullyQualifiedErrorId : Windows System Error 87,New-NetTransportFilter
Free Windows Admin Tool Kit Click here and download it now
October 15th, 2013 9:27pm

Hi , I've tried this but come up against the following error "Only the following custom templates InternetCustom and DatacentreCustom can be modified."

I can't find any documentation on Technet about this behaviour or how these templates work. Did anyone manage to work out why some Netsh commands work and some just so "Ok" and silently fail to apply?

Or why the replacement powershell commands silently fail?

Any help is very much appreciated!

October 29th, 2014 2:22pm

If I understand you correctly on windows 10 (and 8.1) the reason InternetCustom is read only is because you deliberately disabled it on desktop machines?

I have to ask why on earth would you do this, there is very valid reasons to adjust these settings on a desktop machine.

So please clarify the following.

A desktop user can no longer toggle between newreno and ctcp? (well they can I guess by enabling the Compat template).

A desktop user cannot disable delayed acks (unless the registry method still works), this is common for gamers e.g. as it removes artificial tcp delay and can help performance quite a lot.

A desktop user cannot grow the initial congestion window? we all know that 10 is a better value in 2015 in the era of high speed internet, yet you have 4 as a default.

You said you submitted a bug to fix the incorrect ctcp value been shown in netsh int tcp show global yet here I am using windows 10 build 10532 and it is still there.

How does a end user like me submit a bug report please (one that will be read by your developers).


  • Edited by chrcoluk 5 hours 40 minutes ago
Free Windows Admin Tool Kit Click here and download it now
September 6th, 2015 9:39pm

If I understand you correctly on windows 10 (and 8.1) the reason InternetCustom is read only is because you deliberately disabled it on desktop machines?

I have to ask why on earth would you do this, there is very valid reasons to adjust these settings on a desktop machine.

So please clarify the following.

A desktop user can no longer toggle between newreno and ctcp? (well they can I guess by enabling the Compat template).

A desktop user cannot disable delayed acks (unless the registry method still works), this is common for gamers e.g. as it removes artificial tcp delay and can help performance quite a lot.

A desktop user cannot grow the initial congestion window? we all know that 10 is a better value in 2015 in the era of high speed internet, yet you have 4 as a default.

You said you submitted a bug to fix the incorrect ctcp value been shown in netsh int tcp show global yet here I am using windows 10 build 10532 and it is still there.

How does a end user like me submit a bug report please (one that will be read by your developers).


  • Edited by chrcoluk Monday, September 07, 2015 1:39 AM
September 7th, 2015 1:38am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics