Windows 7 DSCP and 802.1p QoS Mapping?

11

0

When I create a QoS policy in Windows 7 through the Group Policy editor and set a DSCP value, does Windows 7 add the 802.1p QoS field to the Ethernet frame? If so, how does it map the different values from DSCP (0-63) to the 802.1p QoS values (0-7)?

So to be clear, my questions are:

  • Does Windows 7 set an 802.1p value for configured QoS policies?
  • If so, how does Windows 7 map the QoS-policy's DSCP value to the 802.1p value?

This question is specifically for outgoing packets.

Note: 802.1p tagging is supported in Windows 7 (and has been since Windows 2000, XP SP2, Windows Server 2003). Microsoft seems to allude to a mapping of DSCP to 802.1p in this document.

syplex

Posted 2012-10-17T03:04:21.173

Reputation: 216

Answers

0

There appears to be a crapload of information here (new link).

DSCP and 802.1p are two different methods of QoS, and they do not necessarily correspond, although managed switches can certainly map between the two in the event that one or the other is unsupported on a particular device (with DSCP being the older, more widely-supported one). Windows maps traffic to both independently, with the following values used for 802.1q:

Non-conforming packets  0

Best-effort             0

Controlled load         4

Guaranteed service      5

Network control         7

Qualitative             0

The general trend is higher values = higher priority traffic, but most network devices tend to coalesce these values into a handful of queues/buffers internally (very low, low, medium, high, for example). Also, if your application doesn't label its traffic type, Windows will have nothing to map to and you won't see any change in performance.

Bigbio2002

Posted 2012-10-17T03:04:21.173

Reputation: 3 804

Those links aren't really conclusive. Its definitely possible that Windows doesn't map them to one another, but it seems that if you have 802.1p enabled on your network equipment it would make sense to set it accordingly. So I've been looking for something conclusive. I am currently trying to put together a test to see for myself if there is any mapping and how to affect the 802.1p value. – syplex – 2013-01-10T01:33:30.450

harrymc's answer indicates that Windows 7 doesn't have 802.1p support, but Windows 8 does. Supposedly, there are issues with using 802.1p with older routers, as they cannot properly handle the tag and will end up stripping it (I've seen some weird behavior when used in conjunction with VLANs too). DSCP is a field within a standard IP packet, so at worst, it will be ignored. – Bigbio2002 – 2013-01-10T01:40:50.623

harrymc's answer is incorrect in stating that Windows 7 doesn't support 802.1p. Its been supported since Windows 2000 (you can modify the default values in group policy under Administrative Templates->Network->QoS Packet Scheduler->Layer 2 priority value). For local ethernet traffic with layer 2 switches DSCP is useless since there are no router hops. Many (if not all) switches seem to support 802.1p these days, even cheap ones. My primary goal is to enable QoS on a LAN with no hops, so 802.1p is the only solution. – syplex – 2013-01-10T01:58:12.850

0

Support for 802.1p and DSCP has been claimed by Microsoft since many years.
Yet I have found a troubling Microsoft article saying that 802.1p only started with Server 2012 (same code-base as Windows 8).

The Microsoft article Quality of Service (QoS) Overview says:

Previous versions of Windows support priority tagging in the IP header of a network packet. The priority bits are known as Differentiation Service Code Point (DSCP). Windows Server 2012 adds the support of 802.1p tagging. 802.1p is a 3-bit priority value in the layer 2 Ethernet frame. Therefore it applies to non-IP packets such as RDMA over Ethernet.

Both DSCP and 802.1p are said by Microsoft in the article Differentiated Services Code Point (DSCP) overview to be equivalent in functionality. However, as these two standards apply to different layers of the communication protocol, it is unlikely that one can be mapped to the other.

harrymc

Posted 2012-10-17T03:04:21.173

Reputation: 306 093

From what I have read 802.1p tagging is supported in Winodws since at least XP SP2. In XP, the Traffic Control (TC) API or the QoS API could be used. In Vista and above, the qWAVE API is used. – syplex – 2013-01-09T00:05:21.960

The qWAVE API is said to set both DSCP and 802.1p, but this doesn't mean that both are supported by the operating system (but it does mean that setting one of them does not automatically set the other). According to the link above, 802.1p is only meaningful in the latest Windows version.

– harrymc – 2013-01-09T07:44:17.823

802.1p is supported by Windows 2000 and above. That link says the specific enumeration of QOS_TRAFFIC_TYPE is only supported in Windows Vista and above for workstations and Windows Server 2008 and above for servers. The API was different in Windows 2000 and in XP but 802.1p was still supported. – syplex – 2013-01-09T23:54:01.917

The article I found definitely states that there was no support for it by Windows servers before Server 2012, but that doesn't say anything about client versions such as 7. I based my answer on the fact that both versions do have a common code-base, but of course I can be wrong. I have no access to Microsoft internals and so can only guess that the 802.1p implementation, if it existed, was on Windows servers not operational or flawed before Server 2012. As always when Microsoft sources conflict, one has to use caution and common-sense. – harrymc – 2013-01-10T07:33:59.373

Also see this article describing some reasons that can prevent 802.1p from working. Even if the tag was specified by the API, it's not at all sure that it was sent out, if not handled correctly at all stages. 802.1p can even conflict with the MTU!

– harrymc – 2013-01-10T09:41:16.637

Check out this document, which applies to Windows Server 2003 and clearly describes how to enable 802.1p. Here's an article describing how to enable 802.1p in Windows 2000 which also applies to Windows 2000 Server. I think that article is trying to say that Windows Server 2012 tags with 802.1p on its own generated traffic automatically (end to end) whereas previously it did not add the 802.1p tags. But not that 802.1p wasn't supported at all previously.

– syplex – 2013-01-10T19:01:44.737

Yes, I have seen that there are heaps of documents that say that 802.1p was available since always. I would have deleted my answer, since it's sure to get undervoted, except that this article that I found does throw some uncertainty on the question, and as 802.1p is so fragile in implementation unless so many factors come together just right. Not the first time that a Microsoft implementation was found to be defective after many years, and I don't know of any benchmark that ever proved it working. – harrymc – 2013-01-10T19:16:34.737

... and I also edited my answer above. – harrymc – 2013-01-10T19:31:55.983