[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multiple u32 filters
The following (simple) sequence of operations shows the bug I mentioned:
- - - - - - - - -
[root@bach confs]# tc qdisc add dev atm3 root handle 1:0 prio
[root@bach confs]# tc filter add dev atm3 parent 1:0 protocol ip pref 5
handle 800::1 u32 match ip tos 0x10 0xff classid 1:1
[root@bach confs]# tc filter ls dev atm3
filter parent 1: protocol ip pref 5 u32
filter parent 1: protocol ip pref 5 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 5 u32 fh 800::1 order 1 key ht 800 bkt 0
flowid 1:1
match 00100000/00ff0000 at 0
[root@bach confs]# tc filter add dev atm3 parent 1:0 protocol ip pref 6
handle 800::1 u32 match ip tos 0x20 0xff classid 1:2
RTNETLINK answers: File exists
[root@bach confs]# tc filter ls dev atm3
filter parent 1: protocol ip pref 5 u32
filter parent 1: protocol ip pref 5 u32 fh 801: ht divisor 1
filter parent 1: protocol ip pref 5 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 5 u32 fh 800::1 order 1 key ht 800 bkt 0
flowid 1:1
match 00100000/00ff0000 at 0
filter parent 1: protocol ip pref 6 u32
filter parent 1: protocol ip pref 6 u32 fh 801: ht divisor 1
filter parent 1: protocol ip pref 6 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 6 u32 fh 800::1 order 1 key ht 800 bkt 0
flowid 1:1
match 00100000/00ff0000 at 0
- - - - - - - - - -
Notice how u32 created junk (801: ht divisor 1) even though it reported an
error, and how everything is replicated between pref 5 and pref 6...
Rui Prior