Fix DSCP tagging for dual-stack sockets on Linux

This commit is contained in:
Cameron Gutman 2024-02-03 16:06:31 -06:00
parent b7a3985807
commit be6f856840

View File

@ -628,7 +628,10 @@ namespace platf {
if (dscp_tagging) {
int level;
int option;
if (address.is_v6()) {
// With dual-stack sockets, Linux uses IPV6_TCLASS for IPv6 traffic
// and IP_TOS for IPv4 traffic.
if (address.is_v6() && !address.to_v6().is_v4_mapped()) {
level = SOL_IPV6;
option = IPV6_TCLASS;
}