From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Bath Date: Fri, 06 May 2005 17:49:06 +0000 Subject: Re: [LARTC] packet shaping bridge Message-Id: <427BAE12.1040206@ckua.org> List-Id: References: <427A4932.7000002@ckua.org> In-Reply-To: <427A4932.7000002@ckua.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org Thanks! Adding the filter to the root was the trick. From the various documentation I was reading I had the impression that the filter needed to be added to the sub-classes - 1:1 and so forth. I presume that's only appropriate when you have leaves below 1:1. Anyhow, the trick now is figuring out how I want to configure things with two of these bridges in mind. The topology would look like this: Switch-bridge/filter-WAN router--Remote WAN router-bridge-remote switch Now with 1.5Mbit/s with the potential for 2mbit/s I was thinking of limiting each bridge at 1Mbit/s. I didn't want to limit at 750kbit/s because if you're doing a big file transfer, you're going to suffer and besides, the ratio of download to upload is in favour of the download The streaming audio devices are set up for 128kbit/s MPEG-layer3. So we're looking at dedicating a minimum of 150kbit/s which can double or more if I'm having congestion problems. Now here's an interesting idea. Let me know if it's possible or not. Is it possible for me to create a bridge between the two linux boxes so it physically looks like eth0 eth1 --WAN-- eth1 eth0 but virtually you are going eth0 ------- eth0 The reason I ask this is so I can create an awareness between the two bridges as to how much traffic is actually going through the pipe so I may optimize it to its fullest. I suppose that it could be done via snmp or spanning-tree? Thanks again. Jason Bath Network Administrator CKUA Radio Network 780.428.2017 Andy Furniss wrote: > Jason Bath wrote: > >> I'm currently tweaking but this is what I have for now: >> ----------------------- >> #!/bin/sh >> >> DEV=eth0 >> #setup the root >> >> #tc qdisc add dev $DEV root handle 1: htb default 11 > > > Remember arp traffic will go to default unless you filter elsewhere. > >> tc class add dev $DEV parent 1: classid 1:1 htb rate 100kbps ceil 100kbps >> #Tokyo class >> tc class add dev $DEV parent 1:1 classid 1:10 htb rate 50kbps ceil >> 100kbps > > > I would use rate 90 ceil 100 prio 0 > >> #Everything else >> tc class add dev $DEV parent 1:1 classid 1:11 htb rate 50kbps ceil >> 100kbps > > > rate 10 ceil 100 prio 1 quantum 1500 (or your mtu) burst 10b cburst 10b > >> >> #filter for streaming >> tc filter add dev $DEV parent 1:1 protocol ip prio 0 u32 match ip src >> 10.2.1.7 match ip dport 2001 0xffff flowid 1:10 > > > Filters don't work as you need to add them to 1:0 also prio 0 is not > highest for a filter - use 1 > >> tc filter add dev $DEV protocol ip parent 1:1 prio 0 u32 match ip src >> 10.2.1.5 match ip dport 2001 0xffff flowid 1:10 >> >> #filter for my workstation >> tc filter add dev $DEV protocol ip parent 1:1 prio 3 u32 match ip src >> 10.2.1.251 flowid 1:10 > > > If your workstation generates bulk traffic don't put it with stream - > make another class. > >> >> #all other traffic sent to the other queue >> tc filter add dev $DEV protocol ip parent 1:1 prio 3 u32 match ip src >> 0.0.0.0/0 flowid 1:11 > > > Not really needed if you use default 11 but remember arp - if you omit > default 11 then leave this and arp will pass unshaped. > > >> tc qdisc add dev $DEV parent 1:10 handle 10: pfifo limit 2 > > > two packets seems a bit low - maybe use a short bfifo to limit to a > couple big packets (3k) but still allow more small. > >> tc qdisc add dev $DEV parent 1:11 handle 11: sfq perturb 2 > > > perturb causes packet reordering 2 is too low use min 10 or higher. > > Andy. _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc