Алгоритм планирования Linux HFSC плохо документирован, и трудно найти полные примеры конфигурации, к счастью, есть этот хороший урок Я попытался создать эту конфигурацию следующим образом:
tc qdisc add dev eth0 root handle 1: hfsc default 90
tc class add dev eth0 parent 1:0 classid 1:1 hfsc ls m2 100kbps ul m2 100kbps
tc class add dev eth0 parent 1:1 classid 1:10 hfsc rt m1 50kbps d 100 m2 10kbps
tc class add dev eth0 parent 1:1 classid 1:20 hfsc ls m2 70kbps
tc class add dev eth0 parent 1:1 classid 1:90 hfsc ls m2 10kbps
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.10.0/24 flowid 1:10
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.20.0/24 flowid 1:20
Я ожидал, что у пакетов от 192.168.10.0/24 будет самая низкая задержка, однако они получили гораздо большую задержку, чем любой другой трафик во всех моих тестах.
Что я делаю не так?
Я также протестировал примеры в упомянутом руководстве в точности так, как они есть, но опять же, я не получил ожидаемых результатов в отношении задержки.
Я тестировал все в двух разных лабораториях (я должен сказать, обе виртуальные, одна со средними ресурсами, а другая с каким-то более мощными ресурсами).