[Cake] draft-ietf-tsvwg-nqb-15.txt vs the cake AQM

Greg White g.white at cablelabs.com
Tue Mar 14 12:25:12 EDT 2023


Hi Dave, 

The NQB requirement is that it shares capacity with and is at the same priority as Default (CS0).  So, for all priority queue options in CAKE (aside from precedence, perhaps), I would recommend that you align with that requirement. So, I think I agree with what you wrote below for besteffort, diffserv3 and precedence, but for diffserv4 CAKE would be non-compliant if it put NQB into the video class. I don't understand diffserv8, since the man page doesn't appear to describe it.  But, the same logic should hold there too. 

In most cases, I think the flow isolation in CAKE already provides the benefit that the NQB PHB is aiming to achieve.  But, in the flowblind, srchost, dsthost, & hosts modes, it doesn't.  Here is where you could consider doing a full implementation of the NQB PHB (a separate queue in the Best Effort tin). If you choose to take that on, the recommendation is to implement a traffic protection mechanism.  This would be a really interesting test case to see whether you think the draft is sufficiently detailed for you to come up with a design for linux. 

You mentioned a Part II to discuss the various wash modes.  I only see two modes (wash/nowash) am I missing something?

-Greg


On 3/14/23, 8:02 AM, "Dave Taht" <dave.taht at gmail.com <mailto:dave.taht at gmail.com>> wrote:


I have been sitting on the cake related patches for this for years
now, and it is my hope to get support for NQB into the next linux
release, regardless of whether it gets through last call at this time,
unless the selected codepoint number changes. (?)


Cake (please see the man page here:
https://man7.org/linux/man-pages/man8/tc-cake.8.html <https://man7.org/linux/man-pages/man8/tc-cake.8.html> ) supports
multiple diffserv models.


besteffort is exactly that, besteffort, and will not gain NQB support.


The diffserv3 interpretation is the default, and given that flow
queuing handles most of the NQB-like problems naturally, and Voice
(CS7, CS6, EF, VA, TOS4) is all that is handled there today, I am
thinking of *not* elevating NQB into that class is the right thing.


NQB fits nicely into the diffserv4 model in the video class, so I will
put it there. since covid we tend to use the diffserv4 model a lot to
manage videoconferencing better.


As for the CS0-CS7 precedence model inc cake, we have declared that
obsolete in the code, and wherever NQB falls into it, great. And the
diffserv8, I don´t know.


Anyway, does that work for everyone?


Part II of this would be a discussion of the various wash modes, but
merely getting the right byte into the right lookup tables after all
this discussion, would be nice.





More information about the Cake mailing list