From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wouter Smit wouter@smit.dhs.org Date: Thu, 04 Jan 2001 12:22:37 +0000 Subject: [LARTC] traffic shaping Message-Id: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org
Hello,

I'm trying to limit all outgoing traffic by means of TC. With six students
we are connected through the server (Debian 2.2 kernel 2.2.18) with a
cablemodem. When one person uploads (usually with full bandwidth available
15KB/s) none of the others can make use of the internet because no requests
for information can be send.

So, i want to limit the maximum individual upload to 5KB/s so this doesnt
disturb others useing the internet.

Situation:

Server: 192.168.1.1
Clients: 192.168.1.2 - 192.168.1.7
eth0: LAN
eth1: Cablemodem

Below is what I came up with myself but it doesnt seem to work. Also when do
i activate this rules? pre- of post configuring interfaces?

Thnx,
Wouter Smit

------------------------------------------------
#!/bin/sh

TC="/sbin/tc"
IF="eth1"

echo Configure queueing discipline
$TC qdisc add dev $IF root handle 10: cbq bandwidth 120Kbit avpkt 1000

echo Configure root class
$TC class add dev $IF parent 10:0 classid 10:1 cbq bandwidth 120Kbit rate \
 120Kbit allot 1514 weight 12Kbit prio 8 maxburst 20 avpkt 1000

echo Configure class divisions
$TC class add dev $IF parent 10:1 classid 10:100 cbq bandwidth 120Kbit rate
\
  40Kbit allot 1514 weight 4Kbit prio 5 maxburst 20 avpkt 1000 bounded

echo Configure queue management
$TC qdisc add dev $IF parent 10:100 sfq perturb 15 quantum 1514

echo Configure which packets belong to which class
$TC filter add dev $IF parent 10:0 protocol ip prio 25 u32 match ip src \
  192.168.1.0/24 flowid 10:100