[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: atach qdisc's


Exactly that I want, is to put a dsmark and after a CBQ to do marking and
sckeduling of packet in one router only. If exists any fashion to do this,
without puting a CBQ followed a dsmark please replay me.

My other problem is to implement some thing with gred. The example that comes
in iproute works, but when I try to implement some diffrent configuration,
they doesn't work.
The problem is that I can't understand the tc command to implement DP. For
example, when are defined each DP (after defining DP setup) attach a filter to
'parent 1:', and I don't understand this.

Example :
$TC filter add dev $DEV parent 1:0 protocol ip prio 1 \
                handle 0x0A tcindex classid 1:111 pass_on
$TC qdisc change dev $DEV parent 3:1 gred \
                DP 1 \
                limit 60KB \
                min 15KB \
                burst 20 \
                avpkt $TAM_PACK \
                bandwidth $RATE_AF11 \
                probability $DP11 \

In a configutration that I want to implement have a conflicts with the filter
of dsmark qdisc.
I don't understand too, the meaning of the classid 1:111, and if this drive a
traffic directly to DP of some fashion; or I have to modifie the tcindex to
put this at the same value that the number of DP.
And finaly How are used the field probability (to know the value I must to

Please replay me. I need this information.


Carlos Parada

Werner Almesberger wrote:

> Carlos Parada wrote:
> > I want to put one qdisc followed to any other. It is possible ??
> Unfortunately not. It's usually feasible to obtain an equivalent
> configuration by nesting qdiscs, but it may get more complex. For
> multiple classification steps, tcindex may be useful for merging
> them into a single step.
> The problem of concatenating qdiscs is actually a little tricky,
> because in most such cases, you would want to have some feedback
> from the second qdisc to the first, or (worse) some shaping in the
> middle, e.g.
>   -> PRIO -> TBF ->     (needs feedback from TBF to PRIO, or PRIO
>                          forwards packets as soon as they enter)
>   -> CBQ(X) -> CBQ(Y) -> (X and Y being different class hierarchies
>                          with different classifications; may need
>                          shaping in the middle)
> Considering how bad shaping once is already, shaping multiple times
> probably wouldn't yield very nice results. Besides, it would make any
> hardware-assisted shaping even more complex/unrealistic. Fortunately,
> with CBQ, it should be possible to merge such things into a single
> CBQ.
> Feedback could be implemented by trying to dequeue packets from the
> first qdisc and to enqueue them on the second until either the first
> runs out of packets or the second fills up. Repeat this whenever
> there's either something new in the first qdisc or something is
> removed from the second qdisc. That should work in simple cases, but
> the nested qdiscs approach is more efficient.
> Worse yet, if classification of the second qdisc depends on time, it
> would be a lot more difficult to get useful semantics and a
> reasonable implementation. (E.g. CBQ with some microflow policing as
> the second qdisc would be poorly served by a mechanism that just
> throws packets at it as fast as it can - just to see them dropped by
> policing.)
> Then there's the case of qdiscs that don't really queue data, e.g.
> sch_dsmark or sch_atm. If they also don't have time-dependent
> classification, then we have a case where concatenation of qdiscs
> would indeed offer a very useful abstraction.
> Something to keep in mind for future design work.
> - Werner
> --
>   _________________________________________________________________________
>  / Werner Almesberger, ICA, EPFL, CH       werner.almesberger@ica.epfl.ch /
> /_IN_N_032__Tel_+41_21_693_6621__Fax_+41_21_693_6610_____________________/
org:PT Inovacao, S.A.;Multimedia e Servicos IP
fn:Carlos Parada