Шейпер на IPFW: пытаюсь конфигурить pipe :(
Добавлено: 2009-07-27 3:50:21
Здравствуйте. Есть у меня прозрачный шейпер, нарезает полосы людям:
Есть задача подгонять постоянно скорость нарезки (сразу всем соответственно) когда канал пустует.
Если загонять раз в минуту :
то все шоколадно работает, удобно, мягко, без обрывов, но.... недолго
через минут 30-40 (30-40 конфигов) все начинает гнать, либо вообще все колом встает в пайпах, либо на весь канал дает юзерскую нарезку, либо еще чего. Что-то где-то переполняется видимо.
Вот вопрос: как побороть? Если делать перед конфигом pipe flush, наверно будет нормально, но получаются обрывы ввиду очистки пайпов соответственно. Помогите, плз, как можно мягко без последствий часто конфигурить такие пайпы?
зы: динамическое деление через queue по ряду причин не катит, мне надо как-то на чистых пайпах фиксированные полосы давать.
Код: Выделить всё
........................
# INPUT
ipfw pipe 3 config mask dst-ip 0x000000ff bw 180Kbit/s delay -100ms
ipfw add 200 pipe 3 ip from any to 10.0.0.0/24 in via rl1
# OUTPUT
ipfw pipe 4 config mask dst-ip 0x000000ff bw 160Kbit/s delay -100ms
ipfw add 210 pipe 4 ip from 10.0.0.0/24 to any in via rl0
.......................
ipfw add 1001 allow ip from any to any
Если загонять раз в минуту :
Код: Выделить всё
!#/bin/sh
ipfw pipe 3 config mask dst-ip 0x000000ff bw ХХХKbit/s delay -100ms
ipfw pipe 4 config mask dst-ip 0x000000ff bw ХХХKbit/s delay -100ms
Вот вопрос: как побороть? Если делать перед конфигом pipe flush, наверно будет нормально, но получаются обрывы ввиду очистки пайпов соответственно. Помогите, плз, как можно мягко без последствий часто конфигурить такие пайпы?
зы: динамическое деление через queue по ряду причин не катит, мне надо как-то на чистых пайпах фиксированные полосы давать.