Date: Mon, 14 Jan 2008 18:51:04 +0100 From: ino-news@spotteswoode.dnsalias.org (clemens fischer) To: freebsd-pf@freebsd.org Cc: freebsd-bugs@freebsd.org Subject: Re: kern/119661: [pf] "queue (someq, empy_acks)" doesn't work Message-ID: <81ks55x2dm1.ln2@nntp.spotteswoode.dnsalias.org> References: <200801141521.m0EFLDVH033733@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 14 Jan 2008 15:21:13 GMT linimon@ wrote: > Over to maintainer(s). > http://www.freebsd.org/cgi/query-pr.cgi?pr=119661 and mlaier@ wrote: > Works for me with the exact same rule. Can you provide more details > to freebsd-pf@ for discussion and analysis? first of, thanks for testing and verifying the rule. i was afraid to even start experimenting after a few tries. 'uname -rims' -> FreeBSD 7.0-PRERELEASE i386 spott_fbsd7_i386 soo, the solution to my problem needs rewriting the rules a little bit. if i do this: logging="log (all)" q_interactive="queue (interactive, tcp_ack)" set skip on lo0 set debug urgent scrub in all # Queueing: rule-based bandwidth control. altq on $ext_if $ext_if_bw cbq queue { dflt, background, interactive, tcp_ack } queue dflt bandwidth 15% cbq(default) queue interactive bandwidth 50% priority 5 cbq(borrow) queue background bandwidth 30% priority 3 cbq(red) queue tcp_ack bandwidth 5% priority 7 cbq(borrow) ... pass out $logging \ proto tcp \ from any to ! <badhosts> \ modulate state \ label "$nr: outbound $proto keep state" $q_interactive the rules are not parsed correctly. the last rule simply disappears without any error message. but if i write that particular rule as: ... pass out $logging \ proto tcp \ from any to ! <badhosts> \ modulate state \ $q_interactive label "$nr: outbound $proto keep state" (note the reversal of the label and the queue option) the rule is parsed and seems to work correctly. if you study the output of "pfctl -sa", you'll see: pass out log (all) proto tcp from any to ! <badhosts> flags S/SA \ modulate state label "27: outbound tcp keep state" \ queue(interactive, tcp_ack) which is the way i wrote it in the first place. pf.conf(5) specifies no particular order in the BNF. it seems to be a problem of the rule parser. as there's an easy workaround, i'll post a followup to the PR to that effect and would like you to close it. regards, clemens
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?81ks55x2dm1.ln2>