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" <[email protected]> Sent: Sunday, February 3, 2019 1:39pm To: "cerowrt-devel" <[email protected]>, "Cake List" <[email protected]> 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 [email protected] https://lists.bufferbloat.net/listinfo/cerowrt-devel _______________________________________________ Cake mailing list [email protected] https://lists.bufferbloat.net/listinfo/cake
