How to send UDP/IPv6 with DSCP on XP?

Hello everybody,

I have an application that use Traffic Control API to apply a DSCP value on a specified flow. This works fine under Windows XP and should also work fine with Windows Vista. But that is not the case. My application is running with the "Administrator Privilege" as required.

Is somebody able to give me information to solve my issue?

Please let me know.

[396 byte] By [ChristopherL] at [2008-2-10]
# 1

Please provide further information. I presume you're using IP and not IPX/SPX (which is no longer natively supported in Vista)? Also, IPv6 is not supported by TC; however, this wouldn't have worked on XP either, so shouldn't be your problem. Are you receiving any specific errors from a function call?

GabeFrost at 2007-9-5 > top of Msdn Tech,Windows Networking Development,Network Quality of Service (QoS/qWAVE)...
# 2
Gabe Frost wrote:

Please provide further information. I presume you're using IP and not IPX/SPX (which is no longer natively supported in Vista)? Also, IPv6 is not supported by TC; however, this wouldn't have worked on XP either, so shouldn't be your problem. Are you receiving any specific errors from a function call?

Im tring to send UDP/IPv6 with DSCP on XP(sp2)

I get success to send UDP/IPv4, but can't send UDP/IPv6 with DSCP by TC API.

Is a way to send UDP/IPv6 with DSCP on windowsXP ? that is need following.

- specific DSCP bit pattern ( 0x00 - 0x3F )
- specific destination address & port

takasyu at 2007-9-5 > top of Msdn Tech,Windows Networking Development,Network Quality of Service (QoS/qWAVE)...
# 3

Unfortunately, prior to Vista and Longhorn server, there are no user-mode APIs that enable setting DSCP for IPv6. The main reason for this is because the XP IPv6 stack is completely different than the IPv4 stack, and the QoS platform was written to only support IPv4. The only way you can accomplish this would be to write a kernel-mode driver (NDIS). I recognize that this is *extremely* unfortunate. For what it's worth, in Windows Vista and codename Longhorn Server, where there is a single stack that supports both IPv4 and v6, you can easily set DSCP with the user-mode Qos2 (qWAVE) API. GQoS, the legacy sockets-based API, has also been updated to support IPv6; however, TC does not support IPv6 on any platform and because it is marked for deprecation (will be removed in a subsequent release), will not be updated with IPv6 support.

Sorry for the bad news.

- Gabe

GabeFrost at 2007-9-5 > top of Msdn Tech,Windows Networking Development,Network Quality of Service (QoS/qWAVE)...
# 4

Thank you for reply. I recognize that it is realistic solution to use raw socket without NDIS solution on Windows XP.Cound you teach me where is in Offical Document about that there are no user-mode APIs that setting DSCP for IPv6 on Windows XP? I could not find out about it in the web and SDK document(Windows Server 2003 SP1 SDK).

takasyu at 2007-9-6 > top of Msdn Tech,Windows Networking Development,Network Quality of Service (QoS/qWAVE)...