Страница 1 из 1

Трабл динамического шейпера, PF+ALTQ

Добавлено: 2007-10-03 14:04:52
Din
FreeBSD 6.2-RELEASE-p5

ALTQ не выделяет полосу под очереди из дефолтной ( при условии что полоса свободна используется только та часть которая выделена непосредственно под очередь :( если не использовать вложенные очереди то всё нормально выделяется ), конфиг :

Код: Выделить всё

ext_if="xl0"
int_if="rl0"


table <trast> { 192.168.0.x, 192.168.0.x, 192.168.0.x }

set block-policy drop
set skip on lo0
set require-order yes
set optimization normal

altq on $int_if cbq bandwidth 100Mb queue { net_in, lan_in }
    queue net_in cbq bandwidth 256Kb { 1, 2, 3 }
        queue 1 cbq ( default, borrow, red ) bandwidth 34%
            queue 2 cbq ( borrow, red ) bandwidth 33%
                queue 3 cbq ( borrow, red ) bandwidth 33%
                        queue lan_in bandwidth 90Mb cbq

 ################## NAT #################


nat on $ext_if from <trast> to any -> $ext_if

block in
block out


 ############# INTERNAL NET #############



pass in quick on $int_if from <trast> to 192.168.0.x keep state queue lan_in

 ############# TRAST NET ##############

pass in on $int_if from  192.168.0.x to { $ext_if, !192.168.0.x } keep state queue 1
pass in on $int_if from  192.168.0.x to { $ext_if, !192.168.0.x } keep state queue 2
pass in on $int_if from  192.168.0.x to { $ext_if, !192.168.0.x } keep state queue 3

pass out on $ext_if from $ext_if to any keep state
pass out on $int_if from $int_if to any keep state
В варианте без вложенных очередей всё нормально шейпится и используется дефолтная очередь для заимствования полосы

Код: Выделить всё

altq on $int_if cbq bandwidth 256Kb queue { 1, 2, 3 }
    queue 1 cbq ( default, borrow, red ) bandwidth 34%
        queue 2 cbq ( borrow, red ) bandwidth 33%
            queue 3 cbq ( borrow, red ) bandwidth 33%
                
Ядро собиралось с след опциями

Код: Выделить всё

device          pf
device          pflog
device          pfsync

options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_CDNR
options         ALTQ_PRIQ
options         ALTQ_NOPCC
options         ALTQ_DEBUG

Может кто сталкивался ?

Re: Трабл динамического шейпера, PF+ALTQ

Добавлено: 2007-10-03 14:20:08
paix
Altq - это не шейпер а приоритеризатор трафика (с возможностями шейпера)
Его использовать можно только для исходящих очередей (на исходящем интерфейсе. т.е. пакеты должны пройти через кернел).
см. дефолтные примеры в
/usr/share/examples/pf/

Re: Трабл динамического шейпера, PF+ALTQ

Добавлено: 2007-10-03 15:18:44
Din
paix писал(а):Altq - это не шейпер а приоритеризатор трафика (с возможностями шейпера)
Его использовать можно только для исходящих очередей (на исходящем интерфейсе. т.е. пакеты должны пройти через кернел).
см. дефолтные примеры в
/usr/share/examples/pf/
Эээ... Я помойму нигде не написал что ALTQ это шейпер :)

В конфигах которые я выложил он и используется на исходящем интерфейсе, проблем с постановкой в очередь нет, примеры давно все изучены что от фряхи что родные от мана по PF, суть в том что в случае использования подочереди невыделяется полоса пропускания из дефолтной очереди хотя должна.

Re: Трабл динамического шейпера, PF+ALTQ

Добавлено: 2007-10-10 11:27:00
freeman
Подробнее можно ?
У тебя queue 3 скажем не забирает "остаток" из queue net_in ?
p.s. у меня freebsd 6.2, двойные вложения, всё отрабатывается.

Re: Трабл динамического шейпера, PF+ALTQ

Добавлено: 2007-10-13 13:42:46
Din
2 freeman
Именно так, незабирается свободный остаток из родительский очереди, в остальном всё в порядке, где косяк понять немогу, поверял и на OpenBSD 4.0 с этим же конфигом, таже проблема, гдето у меня косяк а где непойму :(

Может выложиш свой конфиг я попробую у себя ?