rendered paste body#! /bin/sh
case "$1" in
start)
echo -n "Shaper Start... "
echo
tc qdisc add dev eth1 root handle 1:0 cbq bandwidth 100Mbit avpkt 1000
tc qdisc add dev eth2 root handle 2:0 cbq bandwidth 100Mbit avpkt 1000
# 10.4.4.0
tc class add dev eth1 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 7168Kbit weight 384Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth1 parent 1:1 tbf rate 7168Kbit buffer 10Kb/8 limit 15Kb mtu 1500
tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 10.4.4.0/24 classid 1:100
# 192.168.130.0
tc class add dev eth2 parent 2:0 classid 2:1 cbq bandwidth 100Mbit rate 3088Kbit weight 384Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth2 parent 2:1 tbf rate 3088Kbit buffer 10Kb/8 limit 15Kb mtu 1500
tc filter add dev eth2 parent 2:0 protocol ip prio 100 u32 match ip dst 192.168.130.0/24 classid 1:100
echo ""
;;
stop)
echo -n "Shaper Stop.... "
tc -s qdisc del dev eth1 root
tc -s qdisc del dev eth2 root
echo ""
;;
status)
echo -n "Shaper Status.... "
tc -s qdisc show dev eth1
tc -s qdisc show dev eth2
echo ""
;;
restart)
echo -n "Shaper Restarting .... "
/root/shaper/shaper stop
/root/shaper/shaper start
echo ""
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
echo ""
exit 1
;;
esac