#!/usr/bin/perl `tc qdisc del dev eth2 root 2>/dev/null`; `tc qdisc add dev eth2 root handle 1: htb`; #BG DOWNLOAD my $tmp="tc class add dev eth2 parent 1:0 classid 1:1 htb rate 500kbps ceil 500kbps"; `$tmp`; #INT DOWNLOAD my $tmp="tc class add dev eth2 parent 1:0 classid 1:2 htb rate 100kbps ceil 100kbps"; `$tmp`; my $id = sprintf("%X", 2 + 0x100); $class_bg_dl = "tc class add dev eth2 parent 1:1 classid 1:0".$id." htb rate 80kbps ceil 90kbps"; $qdisc_bg_dl = "tc qdisc add dev eth2 parent 1:0".$id." handle ".$id." sfq perturb 10 "; my $id = sprintf("%X", 2 + 0x200); print "1\n"; $class_int_dl = "tc class add dev eth2 parent 1:2 classid 1:0".$id." htb rate 30kbps ceil 40kbps"; print "1\n"; $qdisc_int_dl = "tc qdisc add dev eth2 parent 1:0".$id." handle ".$id." sfq perturb 10 "; `$class_bg_dl`; `$class_int_dl`; `tc filter add dev eth2 parent 1:0 protocol ip prio 1 fw`; `$qdisc_int_dl`; `$qdisc_bg_dl`;