[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

alt/pppoe weirdness

Running OpenBSD 3.3-stable (cvsuped and compiled - both kernel and userland
- yesterday) as a firewall/router to connect internal 100 Mb/s Ethernet to
1024/256 ADSL using pppoe. Computer is Cyrix 6x86MX (M2) @ 166 MHz with 128
MB SDRAM. I'm trying to implement empty ACK priorityzing as per Daniel's
instructions. This is the minimal pf.conf I tested with:
Ext  = "tun0"
Int  = "vr0"
scrub in all
scrub out all
altq on $Ext priq bandwidth 224Kb queue { q_pri, q_def }
queue q_pri priority 7
queue q_def priority 1 priq(default)
nat on $Ext from $Int:network to any -> ($Ext)
rdr on $Int proto tcp from any to any port ftp -> port 8021
block in on $Ext all
pass out on $Ext proto tcp from any to any keep state queue (q_def, q_pri)
If I activate this with 4 download clients (totaling approx 40 KB/s) and 4
upload clients (totaling approx 18 KB/s) - IOW in unsaturated conditions -
the pppoe %CPU rockets skyhigh. Minimal value is 23% but I have observed
values as high as 75%. If pppoe CPU percentage rises too high (don't know
exact figures here), the download and upload speed starts to drop.
If I do the -F queue and reload same file but shaped to the download speed
(tested with 'bandwidth 900Kb'), pppoe CPU% drops back to normal - that is
below 1% (typically below 0.5%) and everythig goes back to normal.
Am I doing something wrong, have I struck a potential problem or just
everything works as designed?
Best regards,