Hi all. I have a bridge running Linux 2.4.24 that I use as a bandwidth manager on a broadband wireless network. I'm using HTB and SFQ to prioritize that share bandwidth on a per-cell basis. My IP tables rules divide the traffic based on IPand traffic type (using layer-7 filter and ipp2p). My goal is to make sure that p2p traffic on the network doesn't sink all of the bandwidth and affect the performance of high-priority commercial customers. For the most part it works very well, but I'm not getting the kind of prioritization I'm expecting. I'm not seeing p2p traffic go down on my graphs as higher-priority traffic goes up. Consequently, my high-priority traffic suffers. I am able to control the p2p but putting it into a very small bitrate queue but would rather late the shaper do the work based on priority. What am I missing? My rules are posted below. Thanks, Michael Eck Sorry if these are a bit long ### # Root qdisc ### /sbin/tc qdisc add dev eth0 root handle 1: htb default 5 #### # Parent Classes #### # The Entire Interface /sbin/tc class add dev eth0 parent 1: classid 1:1 htb rate 102401kbit ceil 102401kbit quantum 20000 # Default Class /sbin/tc class add dev eth0 parent 1:1 classid 1:5 htb rate 100864kbit ceil 100864kbit prio 1 quantum 20000 /sbin/tc qdisc add dev eth0 parent 1:5 handle 5: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 5 fw flowid 1:5 # Low Prio p2p class - This is only here for uses that get out of control /sbin/tc class add dev eth0 parent 1:5 classid 1:53 htb rate 56kbit ceil 56kbit prio 4 quantum 1501 /sbin/tc qdisc add dev eth0 parent 1:53 handle 5: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 53 fw flowid 1:53 # Parent class for VL AU -> Retel /sbin/tc class add dev eth0 parent 1:1 classid 1:3 htb rate 1536kbit ceil 1536kbit # Zero Rate High Priority Class - seldom used /sbin/tc class add dev eth0 parent 1:3 classid 1:30 htb rate 1kbit ceil 1536kbit prio 1 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 30 fw flowid 1:30 # Commercial Class for VL -> Retel /sbin/tc class add dev eth0 parent 1:3 classid 1:31 htb rate 1152kbit ceil 1536kbit prio 2 /sbin/tc qdisc add dev eth0 parent 1:31 handle 31: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 31 fw flowid 1:31 # Residential Class for VL -> Retel /sbin/tc class add dev eth0 parent 1:3 classid 1:32 htb rate 384kbit ceil 1536kbit prio 3 /sbin/tc qdisc add dev eth0 parent 1:32 handle 32: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 32 fw flowid 1:32 # Zero Rate Low Priority Class - VL -> Retel - All p2p traffic for this sector goes through here /sbin/tc class add dev eth0 parent 1:3 classid 1:33 htb rate 1kbit ceil 56kbit prio 4 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:33 handle 33: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 33 fw flowid 1:33 # Parent class for VL AU -> WHOT /sbin/tc class add dev eth0 parent 1:1 classid 1:4 htb rate 1536kbit ceil 1536kbit # Zero Rate High Priority Class /sbin/tc class add dev eth0 parent 1:4 classid 1:40 htb rate 1kbit ceil 1536kbit prio 1 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:40 handle 40: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 40 fw flowid 1:40 # Commercial Class for VL -> WHOT /sbin/tc class add dev eth0 parent 1:4 classid 1:41 htb rate 1152kbit ceil 1536kbit prio 2 /sbin/tc qdisc add dev eth0 parent 1:41 handle 41: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 41 fw flowid 1:41 # Residential Class for VL -> WHOT /sbin/tc class add dev eth0 parent 1:4 classid 1:42 htb rate 384kbit ceil 1536kbit prio 3 /sbin/tc qdisc add dev eth0 parent 1:42 handle 42: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 42 fw flowid 1:42 # Zerio Rate Low Priority Class - VL -> WHOT Abusers All p2p traffic for this sector goes through here /sbin/tc class add dev eth0 parent 1:4 classid 1:43 htb rate 1kbit ceil 56kbit prio 4 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:43 handle 43: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 43 fw flowid 1:43 # Parent class for ChilAU /sbin/tc class add dev eth0 parent 1:1 classid 1:6 htb rate 1536kbit ceil 1536kbit # Zero Rate High Priority Class - /sbin/tc class add dev eth0 parent 1:6 classid 1:60 htb rate 1kbit ceil 1536kbit prio 1 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:60 handle 60: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 60 fw flowid 1:60 # Commercial Class for ChilAU /sbin/tc class add dev eth0 parent 1:6 classid 1:61 htb rate 1152kbit ceil 1536kbit prio 2 /sbin/tc qdisc add dev eth0 parent 1:61 handle 61: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 61 fw flowid 1:61 # Resedential Class for ChilAU /sbin/tc class add dev eth0 parent 1:6 classid 1:62 htb rate 384kbit ceil 1536kbit prio 3 /sbin/tc qdisc add dev eth0 parent 1:62 handle 62: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 62 fw flowid 1:62 # Zero Rate Low priority class - Abusers All p2p traffic for this sector goes through here /sbin/tc class add dev eth0 parent 1:6 classid 1:63 htb rate 1kbit ceil 56kbit prio 4 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:63 handle 63: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 63 fw flowid 1:63 # Parent class for DS5800 /sbin/tc class add dev eth0 parent 1:1 classid 1:19 htb rate 4608kbit ceil 4608kbit # Parent class for Left Sector (DS5800 Child) /sbin/tc class add dev eth0 parent 1:19 classid 1:9 htb rate 1536kbit ceil 1536kbit # Zero Rate High Priority Class - Left Sector /sbin/tc class add dev eth0 parent 1:9 classid 1:90 htb rate 1kbit ceil 1536kbit prio 1 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:90 handle 90: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 90 fw flowid 1:90 # Commercial Class for Left Sector /sbin/tc class add dev eth0 parent 1:9 classid 1:91 htb rate 1152kbit ceil 1536kbit prio 2 /sbin/tc qdisc add dev eth0 parent 1:91 handle 91: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 91 fw flowid 1:91 # Residential Class for Left Sector /sbin/tc class add dev eth0 parent 1:9 classid 1:92 htb rate 384kbit ceil 1536kbit prio 3 /sbin/tc qdisc add dev eth0 parent 1:92 handle 92: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 92 fw flowid 1:92 # Zero Rate Low Priority Class - Left Sector /sbin/tc class add dev eth0 parent 1:9 classid 1:93 htb rate 1kbit ceil 56kbit prio 4 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:93 handle 93: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 93 fw flowid 1:93 # Parent Class for Center Sector (DS5800 Child) /sbin/tc class add dev eth0 parent 1:19 classid 1:8 htb rate 1536kbit ceil 1536kbit # Zero Rate High Priority Class - Center Sector /sbin/tc class add dev eth0 parent 1:8 classid 1:80 htb rate 1kbit ceil 1536kbit prio 1 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:80 handle 80: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 80 fw flowid 1:80 # Commercial Class for Center Sector /sbin/tc class add dev eth0 parent 1:8 classid 1:81 htb rate 1152kbit ceil 1536kbit prio 2 /sbin/tc qdisc add dev eth0 parent 1:81 handle 81: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 81 fw flowid 1:81 # Residential Class for Center /sbin/tc class add dev eth0 parent 1:8 classid 1:82 htb rate 384kbit ceil 1536kbit prio 3 /sbin/tc qdisc add dev eth0 parent 1:82 handle 82: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 82 fw flowid 1:82 # Zero Rate Low Priority Class - Center Sector /sbin/tc class add dev eth0 parent 1:8 classid 1:83 htb rate 1kbit ceil 56kbit prio 4 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:83 handle 83: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 83 fw flowid 1:83 # Parent Class for Right Sector /sbin/tc class add dev eth0 parent 1:19 classid 1:7 htb rate 1536kbit ceil 1536kbit # Zero Rate High Priority Class - Right Sector /sbin/tc class add dev eth0 parent 1:7 classid 1:70 htb rate 1kbit ceil 1536kbit prio 1 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:70 handle 70: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 70 fw flowid 1:70 # Commercial Class for Right Sector /sbin/tc class add dev eth0 parent 1:7 classid 1:71 htb rate 1152kbit ceil 1536kbit prio 2 /sbin/tc qdisc add dev eth0 parent 1:71 handle 71: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 71 fw flowid 1:71 # Residential Class for Right Sector /sbin/tc class add dev eth0 parent 1:7 classid 1:72 htb rate 384kbit ceil 1536kbit prio 3 /sbin/tc qdisc add dev eth0 parent 1:72 handle 72: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 72 fw flowid 1:72 # Zero Rate Low Priority Class - Right Sector All p2p traffic for this sector goes through here /sbin/tc class add dev eth0 parent 1:7 classid 1:73 htb rate 56kbit ceil 56kbit prio 4 quantum 1501 burst 1501 cburst 1501 /sbin/tc qdisc add dev eth0 parent 1:73 handle 73: sfq perturb 10 /sbin/tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 73 fw flowid 1:73 _______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/