Re: [PATCH net-next] netem: fix classful handling
From: Eric Dumazet <hidden>
Date: 2011-12-29 18:36:28
Le jeudi 29 décembre 2011 à 19:25 +0100, Hagen Paul Pfeifer a écrit :
* Eric Dumazet | 2011-12-29 19:10:36 [+0100]:quoted
I dont quite understand the question. The patch I posted is supposed to fix the problem. What do you want to tell to the user ?I assumed that the patch makes it possible to replace standard tfifo?! Tfifo provides strict ordering, other qdisc's do not. So I thought if someone use netem rate|jitter with e.g. SFQ then this should be mentioned somewhere. E.g. "rate|jitter can only be used with tfifo qdisc". Correct me if I am wrong.
Current netem uses a single queue, default tfifo.
Then if you change this tfifo by SFQ, you lose tfifo, and netem doesnt
work at all.
I claim we cannot remove tfifo.
After my patch, you now have :
1) An internal mandatory tfifo queue, to fulfill time_to_send
requirements.
2) An optional qdisc (SFQ in your example), where packets are queued
once dequeued from tfifo at the right time (after netem delay/rate
respected), eventually a packet can finaly be delivered to device with a
_bigger_ delay than the one predicted in tfifo, because of trafic
shaping happening in this optional qdisc.
Full netem block :
+---------+ +--------+
-->>-enqueue--| tfifo |---->>>>--enqueue--| SFQ |-dequeue--->>>>>
+---------+ +--------+