Where have my all my TC filters gone??

Linux Advanced Routing and Traffic Control

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

 



 
I have snipped out part of a script to load balance and bandwidth shape upload traffic to a NIC
(eth0/ETH_WAN) on a 2mbit/256kbit ADSL line. The balancing will be carried out for 3 users with 1+
PCs connected on another NIC. There are iptables instructions (not shown in the script) to mark
packets based on PORT and TOS. These are snipped as the marking appears to work its just the TC
FILTERs that just disappear :-(

Stef (or anyone else :-) can you please explain why:

# tc filter show dev eth0
#

shows no filters are in place on eth0 after running the script below???

Is this a problem with having a 2-level deep HTB class tree?? When my HTB tree is only 1 level
deep the TC filters get fed back properely with the above command!!

BTW I don't get any errors when running the script from a CLI.

Thanks

Robert

 
=========================================================
#Downlink speed limits (2048kbit/s max)
DOWNLINK=1500
ROB_DOWNLINK=500
DAVE_DOWNLINK=500
MIKE_DOWNLINK=500
 
#Uplink speed limits (256kbit/s max)
UPLINK=180
ROB_UPLINK=60
DAVE_UPLINK=60
MIKE_UPLINK=60
 
#Interfaces to be shaped
ETH_WAN=eth0
 
#Define IP addresses/address blocks
WAN_IP=192.168.1.2
LAN_IP=192.168.0.0/24
ROB_IP=192.168.0.8/29
DAVE_IP=192.168.0.16/29
MIKE_IP=192.168.0.24/29
DC_LAN_IP=192.168.0.8

tc qdisc add dev $ETH_WAN root handle 1: htb default 160
tc class add dev $ETH_WAN parent 1: classid 1:1 htb rate ${UPLINK}kbit ceil ${UPLINK}kbit
tc class add dev $ETH_WAN parent 1:1 classid 1:10 htb rate ${ROB_UPLINK}kbit ceil ${UPLINK}kbit
prio 0
tc class add dev $ETH_WAN parent 1:1 classid 1:20 htb rate ${DAVE_UPLINK}kbit ceil ${UPLINK}kbit
prio 0
tc class add dev $ETH_WAN parent 1:1 classid 1:30 htb rate ${MIKE_UPLINK}kbit ceil ${UPLINK}kbit
prio 0
 
 
####### Sort packets to the correct user according to the source IP address
tc filter add dev $ETH_WAN parent 1:1 protocol ip prio 1 u32 match ip src ${ROB_IP} flowid 1:10
tc filter add dev $ETH_WAN parent 1:1 protocol ip prio 1 u32 match ip src ${DAVE_IP} flowid 1:20
tc filter add dev $ETH_WAN parent 1:1 protocol ip prio 1 u32 match ip src ${MIKE_IP} flowid 1:30
 
####### Sort packets to Rob's LAN addresses ########
tc class add dev $ETH_WAN parent 1:10 classid 1:11 htb rate ${ROB_UPLINK}kbit ceil ${UPLINK}kbit
prio 0 quantum 15000
tc class add dev $ETH_WAN parent 1:10 classid 1:12 htb rate ${ROB_UPLINK}kbit ceil ${UPLINK}kbit
prio 1 quantum 15000
tc class add dev $ETH_WAN parent 1:10 classid 1:13 htb rate 20kbit ceil ${UPLINK}kbit prio 2
quantum 3000
tc class add dev $ETH_WAN parent 1:10 classid 1:14 htb rate 20kbit ceil ${UPLINK}kbit prio 2
quantum 3000
tc class add dev $ETH_WAN parent 1:10 classid 1:15 htb rate 10kbit ceil ${UPLINK}kbit prio 3
quantum 1500
tc class add dev $ETH_WAN parent 1:10 classid 1:16 htb rate 30kbit ceil ${UPLINK}kbit prio 3
quantum 3000
tc qdisc add dev $ETH_WAN parent 1:13 handle 130: sfq perturb 10
tc qdisc add dev $ETH_WAN parent 1:14 handle 140: sfq perturb 10
tc qdisc add dev $ETH_WAN parent 1:15 handle 150: sfq perturb 10
tc qdisc add dev $ETH_WAN parent 1:16 handle 160: sfq perturb 10
tc filter add dev $ETH_WAN parent 1:10 protocol ip prio 1 handle 1 fw classid 1:11
tc filter add dev $ETH_WAN parent 1:10 protocol ip prio 2 handle 2 fw classid 1:12
tc filter add dev $ETH_WAN parent 1:10 protocol ip prio 3 handle 3 fw classid 1:13
tc filter add dev $ETH_WAN parent 1:10 protocol ip prio 4 handle 4 fw classid 1:14
tc filter add dev $ETH_WAN parent 1:10 protocol ip prio 5 handle 5 fw classid 1:15
tc filter add dev $ETH_WAN parent 1:10 protocol ip prio 6 handle 6 fw classid 1:16

####### Sort packets to Dave's LAN addresses ########
============================================
<snip>
============================================
####### Sort packets to Mike's LAN addresses ########
============================================
<snip>
============================================
< OTHER STUFF SNIPPED: packet mangle marking according to PORT and TOS (to give handles 1-6 used
in above TC filters) >
============================================

________________________________________________________________________
Download Yahoo! Messenger now for a chance to win Live At Knebworth DVDs
http://www.yahoo.co.uk/robbiewilliams
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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