packet shaping bridge

Linux Advanced Routing and Traffic Control

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

 



Hi all,

I'm new to using iproute2 for traffic shaping but not new to Linux. Essentially I have a WAN between two cities that I stream audio over for rebroadcast. Since it's all done live stability and prioritization is critical in staying on air for our radio broadcasts.

My WAN is 1.5Mbit PVC within my provider's infrastructure so I have an unencrypted direct line via DSL to my remote site. My streaming devices use between 300 and 600kilobits/sec. with plenty of room for the workstations/servers at the remote site. Unfortunately as we all know, typical applications like web, mail, windows file sharing, etc are bursty and pigs for the bandwidth. This results in audio that's choppy and drops off for seconds to minutes. I know there's enough bandwidth to go around but I need limits set.

I've created a bridge called edmbr on a Mandrake 10.1 server with 2 nics. The bridge works just great thanks to Don's script from burnpc.com. The problem I've run into is in testing my filtering. After fixing the bugs in my first script I went to tweaking its settings.

I'm using htb as it seems simpler for me to use at the moment. For some unknown reason to me all traffic is being sent to my default classid 1:11. In the script below my test workstation is the 10.2.1.251 address but all of my traffic goes to 1:11. I'm using "tc -s -d class show dev eth0" to monitor the traffic.

Any ideas?  Should I move to CBQ?

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
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
#Everything else
tc class add dev $DEV parent 1:1 classid 1:11 htb rate 50kbps ceil 100kbps

#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
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


#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



tc qdisc add dev $DEV parent 1:10 handle 10: pfifo limit 2 tc qdisc add dev $DEV parent 1:11 handle 11: sfq perturb 2 -------------------




--

Jason Bath
Network Administrator
CKUA Radio Network
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

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