Hello! I recently noticed that the default class of my htb setup gets too much traffic (the setup otherwise runs fine for about 2 years now). Therefore I tried to track this traffic down and attached filter rules to the end of my filter chain which would IMHO match all the traffic which could possibly occur. The most general I could come up with is: tc filter add dev eth2 pref 300 protocol all parent 1: u32 match ip dst 0.0.0.0/0 flowid 1:5000 And still - the default class gets allmost the same amount of traffic as before (except for a few bps which seemed to slip through all my other filters based on src/dst ip but got matched by the filter above). Is there anything I''m missing? (probably :o) Can anyone tell me why the above filter does not match _all_ my traffic not matched by my other (lower pref) filters and why the default class still runs at many kbps? Thank you for your help! Andreas _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Thursday 15 April 2004 11:09, Adrian Saileanu wrote:> > tc filter add dev eth2 pref 300 protocol all parent 1: u32 match ip dst > > 0.0.0.0/0 flowid 1:5000> Hi! > > What are you trying to accomplish by using this filter ? eth2 is a > netdevice with public ip ?Exactly - I''m just trying to find out what kind of traffic doesn''t get matched by my other filters and therefore is responsible for the few kbps going to my default class. I tried to match the traffic with the most general filter rule I could imagine (see above) - but there''s still traffic going to my default class :( I''d appreciate any suggestions! Andreas _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
> Exactly - I''m just trying to find out what kind of traffic doesn''t get matched > by my other filters and therefore is responsible for the few kbps going to my > default class. > I tried to match the traffic with the most general filter rule I could imagine > (see above) - but there''s still traffic going to my default class :( > > I''d appreciate any suggestions!Post your script and maybe we can help.> > Andreas > _______________________________________________ > LARTC mailing list / LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ >--- Catalin(ux aka Dino) BOIE catab at deuroconsult.ro _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
> Post your script and maybe we can help.Ok thank you - a script says more than thousand words I guess - but I only kept the essential parts: # here we go: tc qdisc add dev eth2 root handle 1: htb default 1000 tc class add dev eth2 parent 1: classid 1:100 htb rate 10400kbit ceil 10400kbit tc class add dev eth2 parent 1:100 classid 1:1000 htb rate 128kbit ceil 10400kbit prio 3 quantum 2000 tc class add dev eth2 parent 1:100 classid 1:2000 htb rate 512kbit ceil 10400kbit prio 1 quantum 20000 tc class add dev eth2 parent 1:100 classid 1:1021 htb rate 10kbit ceil 512kbit prio 3 quantum 2000 tc class add dev eth2 parent 1:100 classid 1:1022 htb rate 10kbit ceil 512kbit prio 3 quantum 2000 tc class add dev eth2 parent 1:100 classid 1:1023 htb rate 10kbit ceil 512kbit prio 3 quantum 2000 ... # this goes on for a couple of hundred classes ... # test class which I am trying to give all the traffic not belonging to other classes tc class add dev eth2 parent 1:100 classid 1:5000 htb rate 10kbit ceil 256kbit prio 3 quantum 2000 # now the filters: tc filter add dev eth2 pref 1 protocol ip parent 1: u32 match ip dst aaa.bbb.ccc.ddd/32 flowid 1:2000 tc filter add dev eth2 pref 1 protocol ip parent 1: u32 match ip src aaa.bbb.ccc.ddd/32 flowid 0: tc filter add dev eth2 pref 100 protocol ip parent 1: u32 match ip dst aaa.bbb.ccc.ddd/32 flowid 1:1021 tc filter add dev eth2 pref 100 protocol ip parent 1: u32 match ip dst aaa.bbb.ccc.ddd/32 flowid 1:1022 tc filter add dev eth2 pref 100 protocol ip parent 1: u32 match ip dst aaa.bbb.ccc.ddd/32 flowid 1:1023 ... # this goes on for all the classes ... # now my test filter which should prevent all other traffic going to default tc filter add dev eth2 pref 200 protocol all parent 1: u32 match ip dst 0.0.0.0/0 flowid 1:5000 ----------------------------- With "tc -d -s class show dev eth2" I see traffic flowing through the classes nicely but I see just about 20bps in 1:5000 and about 30000bps in default (1:1000). Anybody can tell me why? What kind of traffic doesn''t get matched by "dst 0.0.0.0/0" and "protocol all"? And yes - these are all public IPs. thanks! Andreas _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stupid me - I explicitly directed some traffic in the default class :( Sorry to have bothered you! Andreas _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/