Subject: PF+ALTQ+pppoe(4), related to kern/30393?
To: None <tech-net@netbsd.org>
From: Nino Dehne <ndehne@gmail.com>
List: tech-net
Date: 06/17/2005 07:48:36
Hi there,
seeing PR kern/30393 reminded me that I had unsuccessfully toyed around
with PF+ALTQ and Peter Postma's altq.diff for netbsd-3 earlier.
I thought that maybe the patch provided in the PR would magically fix
this for pppoe as well (my kernel knowledge is very limited). However,
after ident(1)ing my kernel image I realized that ppp_tty.c isn't used
at all with pseudo-device pppoe which is why I post this.
I use the attached ruleset, some (hopefully irrelevant) parts snipped.
<reserved> contains RFC1918 addresses and 0/8, 240/4. The relevant
ALTQ rules were taken from http://www.benzedrine.cx/ackpri.html
Upon loading this ruleset, traffic stops. Even ICMP originating from the
box itself gives "ping: sendto: No buffer space available". I'm saying
"even" because the relevant pass rules only reference TCP traffic.
Is this in fact related to the PR?
TIA
ND
nat_int="{ (vlan1:network), (vlan253:network) }"
ext_if="pppoe0"
# RFC1918, 0/8, 240/4
table <reserved> file "/etc/pf/reserved"
set block-policy drop
set state-policy if-bound
scrub in all
scrub out all random-id max-mss 1452
altq on $ext_if priq bandwidth 360Kb queue { q_pri, q_def }
queue q_pri priority 7
queue q_def priority 1 priq(default)
no nat on $ext_if inet from any to <reserved>
no rdr on $ext_if inet from <reserved> to any
nat on $ext_if inet from $nat_int to any -> ($ext_if)
[some "rdr pass on $ext_if " rules]
block log quick on $ext_if inet from <reserved> to any
block log quick on $ext_if inet from any to <reserved>
pass in on $ext_if inet proto tcp from any to $ext_if \
flags S/SA keep state queue (q_def, q_pri)
pass out on $ext_if inet proto tcp from $ext_if to any \
flags S/SA keep state queue (q_def, q_pri)