Jake,
Yes, that is one scenario that I had in mind.
Your response comforts me that I my message was not totally unreadable.
My understanding was
- There are incentives to mark packets if they get privileged treatment because of that marking. This is similar to the diffserv model with all the consequences in terms of trust.
- Unresponsive traffic in particular (gaming, voice, video etc.) has incentives to mark. Assuming there is x% of unresponsive traffic in the priority queue, it is non trivial to guess how the system works.
- in particular it is easy to see the extreme cases,
(a) x is very small, assuming the system is stable, the overall equilibrium will not change.
(b) x is very large so the dctcp like sources fall back to cubic like and the systems behave almost like a single FIFO.
(c) in all other cases x varies according to the unresponsive sources' rates.
Several different equilibria may exist, some of which may include oscillations. Including oscillations of all fallback mechanisms.
The reason I'm asking is that these cases are not discussed in the I-D documents or in the references, despite these are very common use cases.
If we add the queue protection mechanism, all unresponsive flows that are caught cheating are registered in a blacklist and always scheduled in the non-priority queue.
It that happens unresponsive flows will get a service quality that is worse than if using a single FIFO for all flows.
Using a flow blacklist brings back the complexity that dualq is supposed to remove compared to flow-isolation by flow-queueing.
It seems to me that the blacklist is actually necessary to make dualq work under the assumption that x is small, because in the other cases the behavior
of the dualq system is unspecified and likely subject to instabilities, i.e. potentially different kind of oscillations.
Luca