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 development Windows API - Win32
Windows for business Windows Client for IT Pros Networking Network connectivity and file sharing
Developer technologies C++
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Xiaopo Yang - MSFT 12,731 Reputation points Microsoft External Staff
    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.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.