Hi everyone, Thanks for the reply. Sad to say but Jame's script doesn't work on my system :-(. Is it because my kernel is too old? I have to keep it as i can't configure mrouted to work on 2.4 kernel. My router config: 2 NIC eth0 and eth1 2.2 kernel + DS8 patch + iproute2 2.2.4 + mrouted I suspect the line "tc qdisc add dev eth0 handle 2:0 root dsmark indices 64 set_tc_index" which setup the 2nd DSMARK caused all the problem: -------------------------------->8----------------------------------------- #!/bin/bash echo 'Init tc..' #clear old entries tc qdisc del dev eth0 handle 1:0 root dsmark indices 64 > /dev/null #starts here tc qdisc add dev eth0 handle 1:0 root dsmark indices 64 #setup the lookup table echo 'Setup tc class..' tc class change dev eth0 classid 1:1 dsmark mask 0x3 value 0x28 tc class change dev eth0 classid 1:2 dsmark mask 0x3 value 0x30 tc class change dev eth0 classid 1:3 dsmark mask 0x3 value 0x00 #setup the priority echo 'Setup tc filter priority..' tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1: u32 divisor 1 tc filter add dev eth0 parent 1:0 protocol ip prio 5 handle 2: u32 divisor 1 #Mcast layers - marked AF11 and AF12 accordingly # AF11 to class id 1:1 # AF12 to class id 1:2 echo 'Filter according to MCast addr..' tc filter add dev eth0 parent 1:0 prio 4 u32 match ip dst 225.1.1.1/32 flowid 1:1 tc filter add dev eth0 parent 1:0 prio 5 u32 match ip dst 225.1.1.6/32 flowid 1:2 # the rest of packets ends up with DSMARK 0x00 tc filter add dev eth0 parent 1:0 prio 5 u32 match ip dst 0.0.0.0/0 flowid 1:3 # handle 2:0 # --- General setup --- tc qdisc add dev eth0 handle 2:0 root dsmark indices 64 set_tc_index ..... (the remaing lines are commented and as i found the tc qdisc add line has caused the problem) --------------------------------------------------------------------------- Once the 2nd DSMARK is added, the entire remarking system failed to work. I have also have to add in the lines "tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1: u32 divisor 1" "tc filter add dev eth0 parent 1:0 protocol ip prio 5 handle 2: u32 divisor 1" in order to use the remarking facility provided. Can anyone please point out what's wrong (or any kernel limitation)? Thanks and Regards, Titus