dynamic bandwidth in stef's scripts

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, All,
 
I went through the HTB test section on www.docum.org. One thing I am very interested in is the scripts Stef was using:
 
BW1=$1'kbps'
BW2=`expr 100 - $1`
BW2=$BW2'kbps'

tc qdisc del dev eth0 root handle 1:

tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps burst 2k
tc class add dev eth0 parent 1:1 classid 1:10 htb rate $BW1 ceil 100kbps burst 2k
tc class add dev eth0 parent 1:1 classid 1:11 htb rate $BW2 ceil 100kbps burst 2k

tc filter add dev eth0 parent 1: protocol ip prio 3 handle 1 fw classid 10:10
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 2 fw classid 10:11

iptables -F
iptables -X
iptables -N acc_0
iptables -N acc_1
iptables -A OUTPUT -t mangle -p tcp --dport 2000 -j MARK --set-mark 1
iptables -A OUTPUT -t mangle -p tcp --dport 2001 -j MARK --set-mark 2
iptables -A OUTPUT -p tcp --dport 2000 -j acc_0
iptables -A OUTPUT -p tcp --dport 2001 -j acc_1
	
It seems we could dynamically change the bandwidth allocation between children. But can we use 
dynamic bandwidth for the parent? I mean can I use a variable to replace 100kbps in the parent
queue defination and change it whenever this script file is called? This way, the scripts will 
work with dynamic bandwidth environment, I can monitor the bandwidth I have currently, and give 
it to the scripts dynamically by calling the script file with the bandwidth parameter.
Is this practical? Has anybody tried it before?
 
James
 

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux