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

Где я могу разместить tc-фильтры?

У меня есть маршрутизатор 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?

  1. Фильтры привязаны к корню дисциплины входной очереди, а не к классам. Итак, в вашем случае все фильтры должны быть созданы с помощью parent 1:0 вариант.

  2. Для пропускания трафика по классам необходимо создать фильтр с 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