Назад | Перейти на главную страницу

Как включить маркировку ECN в заголовке IP в Linux

Маркировка ECN в IP-заголовке выполняется по умолчанию в Ubuntu (ядро 4.15.x) или нужно перекомпилировать ядро ​​со специальной опцией? Я настроил входную очередь RED на машине Ubuntu, net.ipv4.tcp_ecn установлен на 1 на всех хостах сети, а ECN включен в команде tc qdisc.

Я использую 4 машины ubuntu с такой топологией: клиент --- rt1 --- rt2 --- сервер.
iperf -s работает на стороне сервера и iperf -c server -P 100 -d на стороне клиента.
(клиент --- rt1): задержка 100 Мбит 1 мс; (rt1 --- rt2): задержка 10 Мбит 1 мс; (rt2 --- сервер): задержка 100 Мбит 1 мс;

Очередь RED настроена на клиентском интерфейсе rt1 следующим образом:

Создать вход на внешний интерфейс

tc qdisc add dev $ext handle ffff: ingress

ifconfig $ext_ingress up

Перенаправить весь входящий трафик на устройство IFB

tc filter add dev $ext parent ffff: protocol all u32 match u32 0 0 action mirred egress redirect dev $ext_ingress

Нанесите КРАСНЫЙ цвет на устройство IFB

tc qdisc add dev $ext_ingress root red limit 50000 min 4167 max 12500 burst 7 avpkt 1000 probability 0.5 bandwidth 100mbit ecn

Я вижу отброшенные пакеты как раннее отбрасывание из-за перегрузки, но помеченных пакетов нет.

Вам следует проверить конфигурацию ядра для:

IP_NF_TARGET_ECN
NETFILTER_XT_MATCH_ECN

Возможно, с ядром Ubuntu это просто дополнительный модуль, который нужно загрузить.