none
QoS (TOS) DSCP marking removed on apps

    Question

  • Hello,

    I'm investigating an issue with networking on Windows 10, configured in a Workgroup (non-domain joined).

    When I use a tool like iperf3 to tag traffic with an DSCP value, this tag is not injected in the traffic coming from my network card. Wireshark reads an 0x00 as in no DSCP marking.

    There was an issue with Windows 7 in workgroup mode and QoS, so I tried this solutions:
    1. regedit : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters  creat a new dword  DisableUserTOSSetting = 0
    2. regedit : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\QoS creat a string 'Do not use NLA'  set as 1

    This did not change the behaviour.

    Then I applied the next solution:
    3. gpedit : Computer Confonfiguration / Windows Settings / Policy-based QoS / Advanced QoS Settings / DSCP marking override / Checked, and set to Allowed

    Again, with no succes.

    Then I wanted to test if the QoS was working, so I added a rule in gpedit to add the DSCP of 46 to all trafic coming from iperf3.exe . This succesfully added the QoS tag, so I know my network card & Windows is capable of adding a DSCP value.

    Why can't 3'rd pary apps add a DSCP value? Is there some other settings in Windows 10 that needs adjustment (perhaps the NLA disable, but then for windows 10)?

    Any help is welcome,
    kind regards,

    Bastiaan




    Monday, December 14, 2015 10:31 AM

Answers

  • Hi,

    As I know, not all the application support Qos.

    QoS provide 2 APIs, The two QoS application programming interfaces (APIs) included with Windows 2000, General Quality of Service (GQoS) and Traffic Control (TC), are also supported. GQoS is an API used by developers to create QoS-aware applications. In Windows, however, function calls to the GQoS API do not generate RSVP messages. The TC API can be used by traffic management applications running with administrative privileges to apply QoS to applications that are not QoS-aware.

    Please first make sure that the application is developed with QoS-aware.


    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.


    Tuesday, December 15, 2015 9:22 AM
    Owner

All replies

  • Hi,

    As I know, not all the application support Qos.

    QoS provide 2 APIs, The two QoS application programming interfaces (APIs) included with Windows 2000, General Quality of Service (GQoS) and Traffic Control (TC), are also supported. GQoS is an API used by developers to create QoS-aware applications. In Windows, however, function calls to the GQoS API do not generate RSVP messages. The TC API can be used by traffic management applications running with administrative privileges to apply QoS to applications that are not QoS-aware.

    Please first make sure that the application is developed with QoS-aware.


    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.


    Tuesday, December 15, 2015 9:22 AM
    Owner
  • Hello Kate,

    Thank you for your reply. The software is called iperf3, and I've asked the developers if the application uses the API's described above.

    The github post: https://github.com/esnet/iperf/issues/336

    Kind Regards,

    Bastiaan

    Wednesday, December 16, 2015 10:19 AM
  • Hello Kate,

    Thank you for your reply. The software is called iperf3, and I've asked the developers if the application uses the API's described above.

    The github post: https://github.com/esnet/iperf/issues/336

    Kind Regards,

    Bastiaan

    That's great, hope my direction is correct for you to find the root cause.

    If so, please remember to mark the replies as answers from me, and hope it can benefit other community members.


    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    Wednesday, December 16, 2015 4:11 PM
    Owner
  • Hi,

    As I know, not all the application support Qos.

    QoS provide 2 APIs, The two QoS application programming interfaces (APIs) included with Windows 2000, General Quality of Service (GQoS) and Traffic Control (TC), are also supported. GQoS is an API used by developers to create QoS-aware applications. In Windows, however, function calls to the GQoS API do not generate RSVP messages. The TC API can be used by traffic management applications running with administrative privileges to apply QoS to applications that are not QoS-aware.

    Please first make sure that the application is developed with QoS-aware.



    Hi Kate,

    I have a couple questions regarding this thread.  I'd appreciate it if you could spare some time to give me a hint.

    1) What if an application does NOT use any MS QoS API?  What's the default behavior of Windows?  Will Windows honor the DSCP set by application?  or override it?

    2) If an application uses MS QoS API.  What's the default behavior of Windows?  Will Windows honor the DSCP set by application?  or override it?

    3) Based on this https://technet.microsoft.com/en-us/library/dd759108%28v=ws.11%29.aspx, "DSCP Marking Override blocks the ability of applications to specify, or mark, non-zero DSCP values. By default, applications and services can set non-zero DSCP values. "

    So it sounds like if we don't explicitly set the "DSCP Marking Override", the default behavior is to allow application to set non-zero DSCP values.  Was that correct?  If yes, does the application have to use MS API or it doesn't matter?

    4) Based on the same URL above, "To override DSCP marking requests from applications and services, select the Control DSCP marking requests from applications check box, and then select Ignored. Applications and services that use QoS application programming interfaces (APIs) will have their DSCP values set to zero, and only QoS policies can set DSCP values."

    So it sounds like only the applications use QoS API will be overridden.  Does that mean applications not using QoS API will not be overridden?

    5) Is there a Microsoft recommended application to test QoS (DSCP)?  There used to be a qostraffic.exe from Microsoft.  But it's not available for download anymore.

    Thank you very much!


    • Edited by Michael-HL Thursday, May 12, 2016 2:27 AM
    Thursday, May 12, 2016 2:00 AM