Yay. Thanks. Will try in a couple of days. Wolfgang -- Sent from my mobile device On 10.07.2013, at 12:00, "Andy Furniss" <adf.lists@xxxxxxxxx> wrote: > Wolfgang Hennerbichler wrote: >> Follow-Up: This is the only pice of information I have found on my problem: >> >> http://marc.info/?l=lartc&m=105421129231583&w=2 >> >> ==> You can reduce the number of fw filters rules if you use the mark as >> hash key. >> So if you add >> tc filter add dev eth0 parent 1:0 protocol ip handle 1 fw >> and you have a packet with mark 39, it will placed in class 1:39. > > OK, so after saying I've never done this I remembered I had long ago and found a test :-) > > Using "handle 1" seems to get the filter rejected - but the main thing is the way you have to mark to match the first part of your classid - > > tc qdisc add dev eth0 root handle 1: htb > tc class add dev eth0 parent 1: classid 1:a htb rate 1mbit > tc class add dev eth0 parent 1: classid 1:b htb rate 1mbit > tc class add dev eth0 parent 1: classid 1:c htb rate 1mbit > tc filter add dev eth0 parent 1:0 protocol ip fw > > iptables -t mangle -I OUTPUT -o eth0 -p tcp -j MARK --set-mark 0x1000a > iptables -t mangle -I OUTPUT -o eth0 -p icmp -j MARK --set-mark 0x1000b > iptables -t mangle -I OUTPUT -o eth0 -p udp -j MARK --set-mark 0x1000c > > > ph4[/home/andy]# iptables -L OUTPUT -vnt mangle > > Chain OUTPUT (policy ACCEPT 84 packets, 14747 bytes) > pkts bytes target prot opt in out source destination > 3 196 MARK udp -- * eth0 0.0.0.0/0 0.0.0.0/0 MARK set 0x1000c > 7 588 MARK icmp -- * eth0 0.0.0.0/0 0.0.0.0/0 MARK set 0x1000b > 74 13963 MARK tcp -- * eth0 0.0.0.0/0 0.0.0.0/0 MARK set 0x1000a > > > ph4[/home/andy]# tc -s class ls dev eth0 > > class htb 1:c root prio 0 rate 1000Kbit ceil 1000Kbit burst 2850b cburst 2850b > Sent 238 bytes 3 pkt (dropped 0, overlimits 0 requeues 0) > rate 0bit 0pps backlog 0b 0p requeues 0 > lended: 3 borrowed: 0 giants: 0 > tokens: 346750 ctokens: 346750 > > class htb 1:a root prio 0 rate 1000Kbit ceil 1000Kbit burst 2850b cburst 2850b > Sent 14999 bytes 74 pkt (dropped 0, overlimits 0 requeues 0) > rate 32bit 0pps backlog 0b 0p requeues 0 > lended: 74 borrowed: 0 giants: 0 > tokens: 348000 ctokens: 348000 > > class htb 1:b root prio 0 rate 1000Kbit ceil 1000Kbit burst 2850b cburst 2850b > Sent 686 bytes 7 pkt (dropped 0, overlimits 0 requeues 0) > rate 0bit 0pps backlog 0b 0p requeues 0 > lended: 7 borrowed: 0 giants: 0 > tokens: 344000 ctokens: 344000 > > > -- To unsubscribe from this list: send the line "unsubscribe lartc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html