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

Dave Taht dave.taht at gmail.com
Sun Feb 3 19:17:48 EST 2019


On Sun, Feb 3, 2019 at 2:42 PM David P. Reed <dpreed at deepplum.com> wrote:
>
> 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.

I too think diffserv is terrible. On the other hand, I do think there
is room for 4 levels of priority in a network - priority (for packets
like link layer control and urgent network/maint packets), best
effort, background, and - as this specifies - least effort.

Cake, I think, makes the best possible tradeoffs by layering the
diffserv spec into 3 or 4 priorities by default, and optimizing for
"sparse" flows always. Even without diffserv it accomplishes what's
needed.

It would have been nice to have more bits for ECN and less for diffserv.

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

The problem with repurposing CS1 for "background" is that many
networks to this day give CS1 more priority than CS0. So the new LE
codepoint - so long as it is not treated as "starve this" e2e - seems
useful.

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

If you would like to evaluate these

https://datatracker.ietf.org/doc/draft-ietf-tsvwg-aqm-dualq-coupled/

https://datatracker.ietf.org/doc/draft-ietf-tsvwg-ecn-l4s-id/

it would help. Earlier this month I plowed through the current state
of this and decided that it was perhaps, time, to
pursue the "some congestion experienced" and ELR proposals jonathan
had for the ECN bits.

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

That's a great background story. Got a source?

> 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
> now)
>
> 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
> http://www.teklibre.com
> Tel: 1-831-205-9740
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>
>


-- 

Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-205-9740


More information about the Cake mailing list