Marcin Kałuża
2005-May-03 11:58 UTC
problem with filters - packets ''slipping'' through them when they shouldn''t
Hi!
I''m trying to shape my internet connection traffic using hsfc and
I''ve
encountered the following problem (may not be connected with hfsc).
on my lan interface I shape incoming traffic like this:
tc qdisc add root dev eth1 handle 1: hfsc default 1003
tc class add dev eth1 parent 1:0 classid 1:1003 hfsc ls rate 10kbit ul rate
10kbit
tc class add dev eth1 parent 1: classid 1:1001 hfsc ls rate 70Mbit ul rate
70Mbit
tc filter add dev eth1 parent 1: protocol ip prio 1 u32 \
match ip src 192.168.0.1 \
flowid 1:1001
tc class add dev eth1 parent 1: classid 1:1002 hfsc ls rate 1Mbit ul rate
1Mbit
tc filter add dev eth1 parent 1: protocol ip prio 2 u32 \
match ip dst 192.168.0.0/24 \
flowid 1:1002
class 1001 recievs the traffic generated by the server
class 1002 gets incoming traffic from the internet
class 1003 is the default
And that''s where my problem is - 1003 shouldn''t get any
traffic since (as I
think) the above filters should in total match everything and direct it to
1001/2. But there are some packets that go to 1003 and if I delete it, most
of the traffic dies (even ping 192.168.0.2 doesn''t work - whats even
more
wierd, not immediately, but after a minute or so from installing new queue)
Can anybody help me? Am I missing something in the filters? I''ve tried
doing
the same with iptables and mark in the postrouting chain and with fw filters.
The situation was strange as well - every packet got marked either for the
first or the second class, and in spite of this 1003 got traffic anyway...
thanks for any hints
Martin
Andy Furniss
2005-May-03 13:38 UTC
Re: problem with filters - packets ''slipping'' through them when they shouldn''t
Marcin Kałuża wrote:> Hi! > I''m trying to shape my internet connection traffic using hsfc and I''ve > encountered the following problem (may not be connected with hfsc). > on my lan interface I shape incoming traffic like this: > > tc qdisc add root dev eth1 handle 1: hfsc default 1003 > tc class add dev eth1 parent 1:0 classid 1:1003 hfsc ls rate 10kbit ul rate > 10kbit > tc class add dev eth1 parent 1: classid 1:1001 hfsc ls rate 70Mbit ul rate > 70Mbit > > tc filter add dev eth1 parent 1: protocol ip prio 1 u32 \ > match ip src 192.168.0.1 \ > flowid 1:1001 > > tc class add dev eth1 parent 1: classid 1:1002 hfsc ls rate 1Mbit ul rate > 1Mbit > tc filter add dev eth1 parent 1: protocol ip prio 2 u32 \ > match ip dst 192.168.0.0/24 \ > flowid 1:1002 > > class 1001 recievs the traffic generated by the server > class 1002 gets incoming traffic from the internet > class 1003 is the default > > And that''s where my problem is - 1003 shouldn''t get any traffic since (as I > think) the above filters should in total match everything and direct it to > 1001/2. But there are some packets that go to 1003 and if I delete it, most > of the traffic dies (even ping 192.168.0.2 doesn''t work - whats even more > wierd, not immediately, but after a minute or so from installing new queue)It''s arp traffic - your filters are catching IP it stops working when the cache expires. Unlike htb hfsc drops traffic it doesn''t know what to do with if you don''t specify a default class.> > Can anybody help me? Am I missing something in the filters? I''ve tried doing > the same with iptables and mark in the postrouting chain and with fw filters. > The situation was strange as well - every packet got marked either for the > first or the second class, and in spite of this 1003 got traffic anyway...If you don''t want use default you could classify with a TC filter .... protocol arp u32 match u32 0 0 .... Andy.
Marcin Kałuża
2005-May-04 09:40 UTC
Re: problem with filters - packets ''slipping'' through them when they shouldn''t
Thanks :) I didn''t think of that :) Martin On Tuesday 03 May 2005 15:38, you wrote:> > If you don''t want use default you could classify with a TC filter > > .... protocol arp u32 match u32 0 0 .... > > Andy.