Hi everyone,
I am trying to set-up a scenario wherein a given traffic flow gets
certain QoS to begin with, and then is moved to another QoS class. Using
Linux RH7.0 kernel 2.2.16. I tried doing this using the "tc filter
change" and "tc filter replace" commands, but both don''t
seem to work.
An example scenario is as follows:
***** Initial set-up ****
tc qdisc add dev eth0 handle 1:0 root htb default 1 r2q 1
tc class add dev eth0 parent 1:0 classid 1:1 htb rate \
64kbit ceil 64kbit burst 2k
tc qdisc add dev eth0 parent 1:1 handle 2:0 dsmark indices 64
tc class change dev eth0 classid 2:1 dsmark mask 0x3 value 0x68
tc class change dev eth0 classid 2:2 dsmark mask 0x3 value 0x48
tc filter add dev eth0 parent 2:0 protocol ip prio 1 handle 1: \
u32 divisor 1
tc filter add dev eth0 parent 2:0 prio 1 u32 \
match ip src 10.0.41.2
match ip protocol 17 0xff
match ip dport 5000 0xffff
flowid 2:1
As shown above, initially the flow is marked with DSCP value 0x68
(confirmed using ethereal). Later, I need to move this flow to class
2:2, so that it gets marked with value 0x48. Using, "tc filter
replace"
to now classify the flow as 2:2 doesn''t work, as the packets are still
marked as 0x68. Doing "tc filter show dev eth0" returns nothing! I am
not sure what I am doing wrong. Any help in this matter is appreciated.
Thanking in advance.
regards
Kaustubh