Stuart Henderson wrote:
Are you using altq?

Yes, using the hfsc scheduler. I think that was the hint I needed. udp packets were all being assigned to the dns queue so I added another match rule to put openvpn traffic into the default queue.

Here's what I have now:

match in all scrub (no-df max-mss 1440)
altq on $ext_if bandwidth $ext_bw hfsc queue { main }
queue main bandwidth 99% priority 7 qlimit 100 hfsc (realtime 20%, linkshare 99%) \
    { q_pri, q_web, q_mail, q_def, q_dns }
queue q_pri bandwidth 4% priority 7 hfsc (realtime 0, linkshare 4% red ) queue q_web bandwidth 50% priority 6 hfsc (realtime 30% linkshare 50% red) queue q_def bandwidth 30% priority 5 hfsc (default realtime (100Kb 3000 30Kb) linkshare 30% red) queue q_mail bandwidth 13% priority 1 hfsc (realtime (30Kb 3000 12Kb) linkshare 13% red) queue q_dns bandwidth 3% priority 7 qlimit 100 hfsc (realtime (30Kb 3000 12Kb), \
      linkshare 3%)
match out on $ext_if from $localnet nat-to $carp_if queue (q_def, q_pri)
match out on $ext_if proto tcp to port { www https } queue (q_web, q_pri)
match out on $ext_if proto udp to port { 1194 } queue (q_web, q_pri)
match out on $ext_if proto tcp to port smtp queue (q_mail, q_pri)
match out on $ext_if proto { tcp udp } to port domain queue (q_dns, q_pri)
match out on $ext_if proto icmp queue (q_dns, q_pri)

So, we'll see how that holds up over the course of the day.

Thanks, Stuart!

Jeff

Reply via email to