HFSC issues in RELENG_6
Bill Marquette
bill.marquette at gmail.com
Sat Feb 25 14:45:43 PST 2006
I've been having massive issues with HFSC for a while. I finally
spent some time working on it this weekend. I'm testing by using my
VOIP phone with a 90Kb codec.
Here's a stripped down config that works perfectly:
altq on sis1 hfsc(upperlimit 768Kb) queue { qWANdef }
altq on sis0 hfsc(upperlimit 6000Kb) queue { qLANdef }
queue qWANdef priority 6 hfsc(default realtime 128Kb )
queue qLANdef priority 6 hfsc(default realtime 128Kb )
pfctl -vvsq output with a call in progress
queue root_sis1 bandwidth 10Mb priority 0 hfsc( upperlimit 768Kb ) {qWANdef}
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
[ measured: 0.0 packets/s, 0 b/s ]
queue qWANdef bandwidth 10Mb priority 6 hfsc( default realtime 128Kb )
[ pkts: 29409 bytes: 6216336 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
[ measured: 51.6 packets/s, 87.33Kb/s ]
queue root_sis0 bandwidth 10Mb priority 0 hfsc( upperlimit 6Mb ) {qLANdef}
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
[ measured: 0.0 packets/s, 0 b/s ]
queue qLANdef bandwidth 10Mb priority 6 hfsc( default realtime 128Kb )
[ pkts: 30231 bytes: 6349924 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
[ measured: 53.0 packets/s, 89.25Kb/s ]
This gives me broken calls (lag, dropped packets, etc)
altq on sis1 hfsc(upperlimit 768Kb) queue { qWANdef }
altq on sis0 hfsc(upperlimit 6000Kb) queue { qLANdef }
queue qWANdef priority 6 hfsc(default realtime 128Kb upperlimit 512Kb )
queue qLANdef priority 6 hfsc(default realtime 128Kb upperlimit 512Kb )
Here's from an earlier test from the above rule (wife is on the phone
right now, can't get a full pfctl -vvsq output, sorry)
queue qWANdef bandwidth 768Kb priority 6 hfsc( default realtime 128Kb
upperlimit 512Kb )
[ pkts: 549 bytes: 96910 dropped pkts: 282 bytes: 60434 ]
qlength gets up to 50/50, which suggests to me that the queue is
getting limited. Why, I don't know - this was practically an idle
circuit during the testing.
What's really interesting here is that I've played with the upperlimit
settings on the WAN/LANdef queues a fair amount. With qLANdef
upperlimit set to 1280Kb, I don't see qlength on the qLANdef queue
filling up (and call quality is fine). I don't have an easy way right
this second to try this on OpenBSD.
--Bill
More information about the freebsd-pf
mailing list