Настройка DSCP на основе сокетов - PullRequest
0 голосов
/ 09 января 2019

Существует несколько примеров использования iptable для установки поля DSCP IP-пакетов. Я пытаюсь не использовать iptables, а установить поле DSCP только на нескольких выбранных сокетах.

Читая man 7 ip, я обнаружил, что могу использовать что-то по ссылке

int tos_local = 0x28;
setsockopt(sockfd, IPPROTO_IP, IP_TOS,  &tos_local, sizeof(tos_local));

Есть одна вещь, которая мне не понятна. IP_TOS описывается для работы со старым полем Type-Of-Service, которое было переопределено RFC2474 для использования в дифференцированных сервисах.

Итак, мой вопрос: могу ли я использовать setsockopt с IPPROTO_IP и IP_TOS, чтобы установить любое значение DSCP между 0 и 63, или я ограничен только IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_RELIABILITY и IPTOS_MINCOST?

...