DSCP markings set using QoS2 api are not present in captured packets

Tubai 1 Reputation point
2021-10-22T12:09:00.567+00:00

Hi, I am trying to run (https://github.com/microsoft/Windows-classic-samples/tree/main/Samples/Win7Samples/netds/Qos/Qos2) this sample app on my Windows 10 Pc to understand the concept of DSCP markings. DSCP value is being set here using the following function:
result = QOSAddSocketToFlow(qosHandle,
socket,
NULL,
QOSTrafficTypeExcellentEffort,
0,
&flowID);
142937-dscp.jpg
I didn't get any errors or warnings while making this API call, but when I am trying to analyze the packets captured using Wireshark, I am getting DSCP markings to be set as 0. (Please refer to the attached image). So my questions are as follows:

  1. Are these APIs supported for windows 10?
  2. Is this the right approach to call this API?
  3. Do we have any workaround for this issue?
Windows API - Win32
Windows API - Win32
A core set of Windows application programming interfaces (APIs) for desktop and server applications. Previously known as Win32 API.
2,412 questions
C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,519 questions
Windows 10 Network
Windows 10 Network
Windows 10: A Microsoft operating system that runs on personal computers and tablets.Network: A group of devices that communicate either wirelessly or via a physical connection.
2,266 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Xiaopo Yang - MSFT 11,256 Reputation points Microsoft Vendor
    2021-10-25T07:05:48.65+00:00

    QOSSetFlow can set Outgoing DSCP Value And the document hasn't shown these APIs will be depreciated.

    0 comments No comments

  2. Tubai 1 Reputation point
    2021-10-25T09:43:43.9+00:00

    Hi Xiaopo, thanks for your reply.

    I am already calling QOSSetFlow function :
    result = QOSSetFlow(qosHandle,
    flowID,
    QOSSetOutgoingRate,
    sizeof(flowRate),
    &flowRate,
    0,
    NULL);
    Yet, the DSCP field is not being changed from its Default(0) for outgoing packets.