[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
> I have an application on my machine which marks the tos of its outgoing
> packets with 0x1c - I'd like to ensure a
> minimum output bandwidth rate for these packets.
Well, first of all... the minimum rate depends on your app. If the app
that you're running does not generate traffic at an assured minimum
rate, then you can't "guarantee" a the minimum bandwidth.
I think that what you really want to do is to assign a minimum
bandwidth to that class of packets. You can achieve this by setting un a
CBQ queue, creating a leaf class and labelling as "isolated". If I get
it correctly, this means that other classes cannot "borrow" bandwidth,
so that the bandwith is effectively reserved for this class (PLEASE
ANYONE CORRECT ME IF I'M WRONG).
> Can I set a "min" rate
> using a ds class or filter? My machine has only
> one token ring card.
> For laughs, I tried the following to limit the max output rate:
> tc qdisc add dev tr0 handle 1:0 root dsmark indices 64
> tc class change dev tr0 classid 1:1 dsmark mask 0xfc value 0x001c
> tc filter add dev tr0 parent 1:0 protocol ip prio 1 u32 match ip tos 0x1c
> 0xfc police rate 500kbit burst 200k drop flowid 1:1
> but this results in all traffic being limited. Do I need the "class" if my
> application is doing the DS marking?
Yes. Classes are useful not only for marking (which your application
does), but also por prioritising (which you want your router to do).
> In the "filter" - the "drop" is only applied to packets with tos=0x1c that
> exceed the policed rate, correct?
> Because it seems that the filter is dropping packets that fali the match on
> the tos, ie. tos=0x00.
Then maybe the syntax of your filter is not right :) I'm afraid I can't
help you with this. Filter syntax is still hard for me to understand :(