У меня есть маршрутизатор Raspberry Pi для меня и моих соседей по комнате. Пропускная способность делится следующим образом:
1:0(htb)
|
1:1(16mbit/s)
/ \
1:2(8mbit/s) 1:ffff(8mbit/s)
Если я добавлю фильтр с родительским 1: 0 (tc filter add dev wlan0 parent 1:0 protocol ip prio 1 handle 0x0002 fw flowid 1:2)
, Работает как часы. Однако, если я добавлю фильтр по классу 1: 1, команда не сообщит об ошибках, но нет вывода для tc filter show dev wlan0
команда.
Вопросы:
1. Почему не сработало, когда я поставил фильтры на 1: 1?
2. Могу ли я разместить фильтры на подклассах типа 1: 1?
Фильтры привязаны к корню дисциплины входной очереди, а не к классам. Итак, в вашем случае все фильтры должны быть созданы с помощью parent 1:0
вариант.
Для пропускания трафика по классам необходимо создать фильтр с flowid ...
или classid ...
варианты для каждого класса. Итак, в вашем случае фильтры должны выглядеть так (если я вас правильно понял):
tc filter add dev wlan0 parent 1:0 protocol ip prio 1 handle 0x0002 fw flowid 1:2
tc filter add dev wlan0 parent 1:0 protocol ip prio 2 handle 0xffff fw flowid 1:ffff