[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Is bandwidth parameter wrong in current OpenBSD's ALTQ/HFSC?
Dear misc@openbsd.org,
i have tried to ask in pf@, but was bit unlucky...
in the first answer, Henning said:
>> original altq hfsc class' implementation have no "bandwidth"
>> parameter, but "pshare" ("linkshare" in current implementation)
>> and "grate" ("realtime").
>>
>> so, if someone knows, which purpose of the hfsc class' "bandwidth"
>> parameter in current implementation?
>
> pfctl_altq.c, in eval_pfqueue_hfsc():
>
> /* if link_share is not specified, use bandwidth */
> if (opts->>lssc_m2 == 0)
> opts->>lssc_m2 = pa->bandwidth;
but if we assume the following declaration:
#allocate guaranteed 32Kb and do not try to borrow
queue Q1 bandwidth 32Kb hfsc (realtime 32Kb, linkshare 0%)
linkshare==0% - we don't want to assing shared bandwidth to this
queue. but the code shown above tells what if linkshare==0 altq
will use bandwidth value as linkshare's m2 value.
but this is not the same! even worst: we can't assing zero value
to bandwidth parameter. this is equivalent to "have no ability
to define non-borrowable queues": the minimum value for linkshare
(or bandwidth) is 1%.
so the question is: "who needs two broken config parameters to
control one variable"?
Truly yours
Alexey E. Suslikov