[Cake] [Cerowrt-devel] https://tools.ietf.org/html/draft-ietf-tsvwg-le-phb-06 is in last call

David P. Reed dpreed at deepplum.com
Sun Feb 3 17:42:09 EST 2019

Well, you all know that I think of diffserv as an abortion. It's based on thinking that assumes central, hierachical adminstrative agreements among what should be autonomous systems.

Yeah, at layer 2 for packets that stay within an administratively uniform domain, diffserv can be useful.

But even "Paris Metro" scheduling (2 classes, priced dynamically) is highly unstable.

And the nature of networks is that they MUST operate almost all the time well below their capacity. (This is true of packet nets, railroads, highways, ...). It's called the "Mother's Day problem". When Mother's Day happens, you should have enough capacity to absorb vast demand. Therefore what you do all the other days doesn't matter. And on Mother's Day, if you have congestion, there's no way in hell that anybody is happy.

This fairy story about traffic giving way to higher priority traffic being a normal mode of operation is just that. A made up story, largely used by folks who want to do selective pricing based on what customers are willing to pay, not on value received. (that's a business story, thouhg - like the Xerox machines that were supposed to charge more for billion dollar real estate contract copies and less for notices to put up near coffee machines - Xerox wanted a share of the real-estate business cash flow).

Which doesn't mean that there might not be better ways to do large scale traffic engineering balancing of flows - but that's not an end-to-end problem. It's a network management problem that involves changing routing tables.

-----Original Message-----
From: "Dave Taht" <dave.taht at gmail.com>
Sent: Sunday, February 3, 2019 1:39pm
To: "cerowrt-devel" <cerowrt-devel at lists.bufferbloat.net>, "Cake List" <cake at lists.bufferbloat.net>
Subject: [Cerowrt-devel] https://tools.ietf.org/html/draft-ietf-tsvwg-le-phb-06 is in last call

And seems likely to be adopted.

There seems to be an urge to make this codepoint starvable, which
since I ascribe to nagle's dictum "every application has a right to
one packet in the network" - doesn't work for me - but the draft is
vaguely worded enough to just start dumping this codepoint into the
background queue of both sqm and cake and worry about it in a decade
or three.

it's 000001 which I guess is:

diff --git a/sch_cake.c b/sch_cake.c
index 3a26db0..67263b3 100644
--- a/sch_cake.c
+++ b/sch_cake.c
@@ -343,7 +343,7 @@ static const u8 diffserv4[] = {

 static const u8 diffserv3[] = {
-       0, 0, 0, 0, 2, 0, 0, 0,
+       0, 1, 0, 0, 2, 0, 0, 0,
        1, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0,

(or is that reversed? my big endian/little endian chops scuks, and
nobody modified the gen_cake_const tool to match what cake expects

on my off days I kind of wish the diffserv lookup we do in cake had
managed to make it into the linux mqprio/prio stuff by default.


Dave Täht
CTO, TekLibre, LLC
Tel: 1-831-205-9740
Cerowrt-devel mailing list
Cerowrt-devel at lists.bufferbloat.net

More information about the Cake mailing list