Прочитав несколько страниц вроде этот этот и, не имея действительно глубоких знаний о ядре Linux, я могу фильтровать до трех портов, используя только три первых листа дерева.
tc qdisc del dev enp0s3 root //clear any previous configuration
tc qdisc add dev enp0s3 root handle 1: prio //start new queue disc but no classes yet
tc filter add dev enp0s3 parent 1: protocol ip prio 1 u32 match ip dport 6332 0xffff flowid 1:1
tc filter add dev enp0s3 parent 1: protocol ip prio 1 u32 match ip dport 6333 0xffff flowid 1:2
tc filter add dev enp0s3 parent 1: protocol ip prio 1 u32 match ip dport 6334 0xffff flowid 1:3
tc qdisc add dev enp0s3 parent 1:1 handle 30: netem delay 146ms
tc qdisc add dev enp0s3 parent 1:2 handle 20: netem delay 275ms
tc qdisc add dev enp0s3 parent 1:3 handle 10: netem delay 258ms
Моя проблема в том, что я хотел бы иметь больше фильтров портов, чтобы смоделировать большой сценарий с возможностью назначения до 16 портов. Если я попытаюсь добавить новый фильтр, используя 10:1
я получаю, что задержка неверна, потому что начинается добавление двух или более правил, и я достигаю задержки более 1 секунды, чего я не хочу иметь.