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

Ruediger.Geib at telekom.de Ruediger.Geib at telekom.de
Tue Mar 14 11:09:40 EDT 2023


Dave,

thanks for asking - I'm not an NQB author, and my know-how on Linux QoS / Cake is fairly zero. Did you want to address Greg?

I myself am still struggling to understand how NQB operates. I understand the idea behind it, but questions on operation still remain.

NQB has been designed for AC_VI, not AC_VO. So aggregating it with other video related DSCPs may make sense. Greg's draft partially suggests other PHBs to forward NQB, I think. My main concern is that no flow should be able to starve off Best Effort by design. If the Linux Cake implementation does so, also if combined with WiFi scheduling, then I'm fine. If the result is, let's all mark all traffic by (e.g.) NQB as then we'll certainly seize more bandwidth than BE/default, we don't need NQB.

This is not to say, NQB does or will starve off BE/default. I'm however not sure, whether I understood operation of it completely and I think, draft text is insufficient or not precise. I saw and appreciate that precise flow definitions are part of the Linux/cake implementation. Draft NQB offers none at all.

Regards,

Ruediger 

-----Ursprüngliche Nachricht-----
Von: Dave Taht <dave.taht at gmail.com> 
Gesendet: Dienstag, 14. März 2023 15:02
An: Geib, Rüdiger <Ruediger.Geib at telekom.de>
Cc: Greg White <g.white at cablelabs.com>; tsvwg IETF list <tsvwg at ietf.org>; Cake List <cake at lists.bufferbloat.net>
Betreff: draft-ietf-tsvwg-nqb-15.txt vs the cake AQM

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 ) 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