Я добавил фильтр в tc следующим образом:
tc filter add dev eth0 parent 1: protocol ip handle 6 fw flowid 1:6
Это должно отправлять пакеты, помеченные iptables с помощью '--set-mark 6', в класс 1: 6. Проблема в том, что я не могу понять, как потом удалить этот фильтр. Замена «добавить» на «удалить» не работает, я получаю сообщение об ошибке «Ответы RTNETLINK: нет такого файла или каталога». Я пробовал несколько других комбинаций, чтобы удалить его, но, похоже, ни одна из них не работает.
Спасибо за любую помощь.
Дело в том, что когда вы задаете фильтр добавить без точного предпочтение / приоритет номер, он присваивается автоматически, вы можете увидеть его с помощью:
tc filter show dev eth0
и его можно было бы удалить так же просто, как
tc filter del dev eth0 prio nUmErIc
Если вам нужен больший контроль, вы должны точно указать prio:
tc filter add dev eth0 parent 1: protocol ip prio 1 handle 6 fw flowid 1:6
Таким образом, вы можете либо повторить все кровавые детали, чтобы удалить фильтр, либо просто использовать первый способ.