Hello Openbsd,
В старом altqd, есть такой алгоритм JoBS (Joint Buffer Management and Scheduling). Полистал ман с его описанием, понравился. Как вы считаете, нужен ли он в новом pf/altq ? И что вы думаете непосредственно про сам алгоритм ? Ниже привожу вырезку из мана. JoBS (Joint Buffer Management and Scheduling) is a queuing discipline that can enforce any feasible mix of absolute and proportional guarantees on packet losses, packet delays, and throughput, for classes of traffic, on a per-hop basis. No admission control is performed, thus if the set of service guarantees becomes infeasible, some service guarantees may be relaxed. interface if_name [bandwidth bps] [qlimit count] [separate] [tbrsize bytes] [sched_type] if_name specifies the name of a network interface (e.g., fxp0). bandwidth specifies the interface bandwidth in bits per second. qlimit specifies the maximum queue size in number of packets. separate specifies that classes have independent buffers. The default is to have a shared buffer for all classes. If this option is specified, qlimit applies to each indepen- dent buffer. tbrsize specifies the bucket size of a token bucket regulator in bytes. sched_type must be jobs for JoBS. class sched_type if_name class_name parent_name [priority pri] [default] [adc microsecs] [alc fraction] [arc bps] [rdc prop] [rlc prop] sched_type must be jobs for a JoBS class. if_name Interface name. Must correspond to name in interface specification. class_name Arbitrary name for this class. Must be unique for this interface. parent_name Parent class must be NULL for JoBS. priority Priority index used for proportional differentiation. Max value is 15 and Min value is 0. Default is 0. Pri- ority must be unique for the interface. default Specify the default class. When this keyword is present, all packets that do not match some classification crite- ria are assigned to this class. Must be exactly one class on each interface defined as the default class. adc Specifies an upper bound on delays for that class (in microseconds). A value of -1 will indicate the absence of delay bound. By default, no delay bound is offered. alc Specifies a upper bound on loss rate for that class (in fraction of 1, for instance a 1% loss rate bound will be expressed as 0.01). A value of -1 will indicate the absence of loss rate bound. By default, no loss rate bound is offered. arc Specifies a lower bound on the throughput received by that class (in bits per second). A value of -1 will indicate the absence of throughput bound. By default, no throughput bound is offered. rdc Specifies a proportional delay differentiation factor between that class and the class with the successive pri- ority index. For instance, for priority 1, an rdc of 2 specifies that the delays of packets marked as class 2 will roughly be twice the delays of packets marked as class 1. A value of -1 indicates the absence of propor- tional differentiation on that class. Note that class N if N is the maximum priority should have a dummy coeffi- cient different from -1 if proportional delay differenti- ation is desired on Class N. By default, no proportional delay differentiation is offered. rlc Specifies a proportional loss differentiation factor between that class and the class with the successive pri- ority index. For instance, for priority 1, an rlc of 2 specifies that the loss rate of packets marked as class 2 will roughly be twice the loss rate of packets marked as class 1. A value of -1 indicates the absence of propor- tional differentiation on that class. Note that class N if N is the maximum priority should have a dummy coeffi- cient different from -1 if proportional loss differentia- tion is desired on Class N. By default, no proportional loss differentiation is offered. -- Best regards, irix mailto:[hidden email] |
Free forum by Nabble | Edit this page |