Added DSCP support for IPv6 sockets

This commit is contained in:
Alexander Amanuel 2014-03-11 23:22:50 +04:00
parent fd2380de26
commit dccd8192a4

View File

@ -535,7 +535,15 @@ void SocketCore::setTcpNodelay(bool f)
void SocketCore::applyIpDscp()
{
setSockOpt(IPPROTO_IP, IP_TOS, &ipDscp_, sizeof(ipDscp_));
int family = getAddressFamily();
if(family == AF_INET) {
setSockOpt(IPPROTO_IP, IP_TOS, &ipDscp_, sizeof(ipDscp_));
}
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
else if(family == AF_INET6) {
setSockOpt(IPPROTO_IPV6, IPV6_TCLASS, &ipDscp_, sizeof(ipDscp_));
}
#endif
}
void SocketCore::setNonBlockingMode()