# PCQ for mikrotik RouterOS v6 # gererate "/queue type" "/queue tree" and "/ip firewall mangle" rules for mikrotik OS v5 # add firewall rules for redirect negbal and anonim users /queue tree remove [find] /ip firewall mangle remove [/ip firewall mangle find chain=crb_forward] /queue type remove [find] /queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=TOTAL_DOWNLOAD packet-mark="" parent=global priority=1 add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=TOTAL_UPLOAD packet-mark="" parent=global priority=1 @@@ for rate in rates /ip firewall mangle add action=mark-packet chain=crb_forward comment=mark_{{rate.ceil_out}}_out disabled=no src-address-list=service_out_{{rate.ceil_out}} new-packet-mark=mark_{{rate.ceil_out}}_out passthrough=no add action=mark-packet chain=crb_forward comment=mark_{{rate.ceil_in}}_in disabled=no new-packet-mark=mark_{{rate.ceil_in}}_in passthrough=no dst-address-list=service_in_{{rate.ceil_in}} /queue type add kind=pcq name=pcq_{{rate.ceil_out}}_out pcq-burst-rate=25M pcq-burst-threshold=10M pcq-burst-time=6s pcq-classifier=src-address pcq-rate={{rate.ceil_out}}K pcq-total-limit=64000 add kind=pcq name=pcq_{{rate.ceil_in}}_in pcq-burst-rate=25M pcq-burst-threshold=10M pcq-burst-time=6s pcq-classifier=dst-address pcq-rate={{rate.ceil_in}}K pcq-total-limit=64000 /queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=tree_{{rate.ceil_out}}_out packet-mark=mark_{{rate.ceil_out}}_out parent=TOTAL_DOWNLOAD priority=1 queue=pcq_{{rate.ceil_out}}_out add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=tree_{{rate.ceil_in}}_in packet-mark=mark_{{rate.ceil_in}}_in parent=TOTAL_UPLOAD priority=1 queue=pcq_{{rate.ceil_in}}_in @@@ endfor /ip firewall mangle print /ip firewall mangle add chain=forward action=jump jump-target=crb_forward place-before=0