На небольшом pppoe-сервере в скрипне при поднятии интерфейса содаются правила для шейпинга.
Эта строчка создает фильтр по клиентскому IP:
tc filter add dev imq0 parent 1: protocol ip prio 1 u32 match ip src $uip flowid 1:$i
Проблема в том, что через пару суток переполняется счетчик правил filter и устанавливается в 800:fff для кажого нового правила:
#tc filter show dev imq0
.....
filter parent 1: protocol ip pref 1 u32 fh 800::fff order 3408 key ht 800 bkt 0 flowid 1:107
match 0a01021b/ffffffff at 12
Как это можно побороть?
Спасибо.
1) изменить установку правил - не поднимать по правилу для каждого адреса, а выставить общий счетчик для интерфейса с, например, дисциплиной "честного" распределения
2) убивать правило при выключении/падении подключения
3) периодически очищать правила для несуществующих подключенийВ зависимости от задачи можно еще много чего придумать. Общая рекомендация - не делать самое простое, а постараться оптимизировать правила.
>1) изменить установку правил - не поднимать по правилу для каждого адреса,
>а выставить общий счетчик для интерфейса с, например, дисциплиной "честного" распределения
>
>2) убивать правило при выключении/падении подключения
>3) периодически очищать правила для несуществующих подключений
>
>В зависимости от задачи можно еще много чего придумать. Общая рекомендация -
>не делать самое простое, а постараться оптимизировать правила.В том то вся проблема, что правила удаляются через tc filter del dev imq1 parent 2: prio 1 handle $fid u32, но при этом счетчик правил идет дальше и свободные слоты не занимаются новыми правилами... Не знаю как его обнулять :(
>[оверквотинг удален]
>>2) убивать правило при выключении/падении подключения
>>3) периодически очищать правила для несуществующих подключений
>>
>>В зависимости от задачи можно еще много чего придумать. Общая рекомендация -
>>не делать самое простое, а постараться оптимизировать правила.
>
>В том то вся проблема, что правила удаляются через tc filter del
>dev imq1 parent 2: prio 1 handle $fid u32, но при
>этом счетчик правил идет дальше и свободные слоты не занимаются новыми
>правилами... Не знаю как его обнулять :(Да, столкнулся с такой-же проблемой... Неужели нет решения другого, чем удаление вообще корневой дисциплины?