Age | Commit message (Collapse) | Author |
|
curve, inspired by PR4127
|
|
|
|
- fix a bug in HFSC that does not take the newly added
queue into account when computing the bandwidth for
admission control.
- warn when the sum of the child bandwidth exceeds
parent's bandwidth for both CBQ and HFSC.
- allow to explicitly specify 0bps to bandwidth.
HFSC can have only the real-time sc, and it means
a blackhole queue for CBQ.
problem reports by "Alexey E. Suslikov" <cruel@texnika.com.ua>
ok henning@
|
|
|
|
is no longer needed in pfctl.
ok, henning@
|
|
|
|
|
|
identifiers without embedded meanings.
this also allows us to make the semantics of the qid assignment in line
with the tag assignment in the next step.
ok, henning@
|
|
|
|
ok dhartmei@ jmc@
|
|
prodded by mpech@
|
|
|
|
|
|
queues are defined). Reported by Fernando Braga. ok henning@
|
|
print_altq/print_hfsc -> print_hfsc_opts and extract struct node_hfsc_sc
there for each service curve and pass those down to print_hfsc_sc. now
bandwidth specifications in the service curves are printed correct in the
case of a queue belonging to more than one interface/parent queue, the
parent queues having different bandwidths and the bandwith on teh service
curve beeing specified in percent.
|
|
relative bandwidth specification if that ws given instead of the calculated
absolute ones. to be used soon.
|
|
raw number
|
|
|
|
linkshare as it is not exactly the default case then
|
|
|
|
the realtime service is not hierarchically distributed.
ok henning@
|
|
of dintinct bw_percent
|
|
|
|
|
|
|
|
be used in more places soonish
|
|
to expand_altq/expand_queue -> eval_pfaltq/eval_pfqueue and
further down to the new eval_queue_opts() instead of evaluating them directly
in the yacc grammar.
this will be needed to process the hfsc options which can contain relative
bandwidth specifications, and we can't break them down to an absolute one
earlier.
|
|
let eval_pfqueue() and eval_pfaltq() take a pointer to a struct
node_queue_bw instead of two distince bw_absolute and bw_percent parameters.
|
|
HFSC
|
|
when we have no default queue. avoids null pointer deref.
|
|
|
|
wether it printed something or not, and use that to decide wether to print
the scheduler name in the altq on .. case instead of checking flags again,
which would be a horrible mess for hfsc with its tons of opts (checking
flags is not enough there)
|
|
print, so it behaves like the print_*_opts for the other schedulers
|
|
|
|
outside pfctl_altq.c uses them any more, nor should.
|
|
qid_to_qname is not used anywhere. moreover, I cannot think of any
legitimate use; misuse is easy tho.
|
|
altq on { $if0 $if1 $if2 $if3 } priq bandwidth 10Mb queue { one two }
queue one priority 1 priq(default)
queue two on $if0 priority 15
queue two on ! $if0 priority 0
ok dhartmei@
|
|
cbq already.
together with the previous change that means it is now possible to have
differently named priq queues on different interfaces with the same
priorities and packets end up in the right queues.
ok dhartmei@ kjc@
|
|
|
|
|
|
with different names always have different queue IDs, even if they live on
different interfaces (that was the goal here).
fixes regress pfaltq4
ok cedric@ dhartmei@
|
|
before this was rejected at load time with a rather useless error message,
now a nice error message points out the actual error.
inspired by an error report from Damien Miller
ok dhartmei@ pb@ (monsterdiff complete)
|
|
instead of using errx, print the error message and return. This is
consistent with what we do everywhere in pfctl.
ok dhartmei@ pb@ (as part of a monsterdiff)
|
|
resolution we can handle), don't say it must be >6KB, the value actually
depends on quite some factors, including interface MTU. Instead, calculate
the real minimum value and show that.
mpech@ did a good job in bugging me to fix that ;-)
ok pb@ dhartmei@ cedric@
|
|
when looking up the queue IDs using qname_to_qid, we do not need to limit
the matching on the interface in question, as it is guaranteed that same
named queues on different interfaces habe the same queue id. moreover, we
must not limit the matches to the interface if we do not have an interface
given on the filter rule to match on ;-)
found after problems reported by Andre Nathan <andre at v2r dot com dot br>
ok dhartmei@ pb@ cedric@
|
|
-do not print 100.00Kb but 100Kb, but still 1.50Mb. requested by theo. hint
by dhartmei lead to a easier algorithm than initially had
-while beeing there, use a much nicer, shorter algorithm for determining
and printing the unit. a little further easification thanks to a hint by
markus@
ok dhartmei@ cedric@
|
|
print the bandwidth in percent instead of the calculated absolute value.
if a queue belongs to more than one interface and they have different
bandwidth the calculated absolute is of course different per interface.
previously the first calculated absolute value was shown; what of course is
incorrect on the second interface. note that only the print was wrong, the
correct values were passed to the kernel.
ok theo daniel
|
|
the control class was a legacy of the original CBQ design by LBL/Sun
to support RSVP.
the control class is not used in openbsd, in the sense that
we don't automatically set filters for ICMP/IGMP/RSVP for the control
class.
ok dhartmei@ kjc@ deraadt@
|
|
same queue id. in the usual case this was already true, but not guaranteed.
ok dhartmei@ kjc@
|
|
|