#!/bin/sh out=eth0 quota=60 # ko/s sport=1234 # source port for which we want to shape upload rate tc qdisc del dev $out root 2>/dev/null tc qdisc del dev $out ingress 2>/dev/null [ "$1" == "stop" ] && exit 0 tc qdisc add dev $out root handle 1: htb default 12 r2q 1 tc class add dev $out parent 1: classid 1:1 htb rate $((quota*8))kbit tc class add dev $out parent 1: classid 1:2 htb rate 100mbit tc filter add dev $out protocol ip parent 1:0 prio 1 u32 match ip sport $sport 0xffff flowid 1:1 # on ajoute des queuing disciplines aux feuilles tc qdisc add dev $out parent 1:1 handle 10: sfq perturb 10 tc qdisc add dev $out parent 1:2 handle 20: sfq perturb 10