### Queueing: rule-based bandwidth control. # Internal interface; download queue altq on $int_if hfsc bandwidth 100Mb queue { ether, nattraffic } queue ether hfsc ( default, upperlimit 70Mb ) bandwidth 70Mb # Ethernet traffic queue nattraffic hfsc ( upperlimit 1400Kb ) bandwidth 1500Kb { toint_qone, toint_qtwo, toint_qthree } #q# queue toint_qone qlimit 15 hfsc ( red, upperlimit 400Kb ) bandwidth 500Kb #q# queue toint_qtwo qlimit 15 hfsc ( red, upperlimit 430Kb ) bandwidth 500Kb queue toint_qthree qlimit 15 hfsc ( red, upperlimit 400Kb ) bandwidth 500Kb # External interface; upload queue #q#altq on $ext_if hfsc ( upperlimit 240Kb ) bandwidth 256Kb queue { fromint_qone, fromint_qother, server, fromint_ack } # External interface, stuff which goes out on this interface has 128Kb bandwidth #q#queue fromint_qone qlimit 15 hfsc ( red, upperlimit 120Kb ) bandwidth 128Kb #q#queue fromint_qother qlimit 15 hfsc ( default, red, upperlimit 120Kb ) bandwidth 128Kb #queue server hfsc ( default ) bandwidth 10% #queue fromint_ack hfsc ( realtime 5Kb ) bandwidth 10% priority 7 # TCP ACK packets, saying we've got a packet, we have to get these off asap