Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Sebastian Moeller <moeller0@gmx.de>
To: dpreed@reed.com
Cc: david.black@emc.com,
	"cerowrt-devel@lists.bufferbloat.net"
	<cerowrt-devel@lists.bufferbloat.net>
Subject: Re: [Cerowrt-devel] SQM: tracking some diffserv related internet drafts better
Date: Fri, 14 Nov 2014 15:14:39 +0100	[thread overview]
Message-ID: <377184B7-768D-477D-97FF-6813113E3C56@gmx.de> (raw)
In-Reply-To: <1415932905.511130758@apps.rackspace.com>

Hi David,

On Nov 14, 2014, at 03:41 , dpreed@reed.com wrote:

> The IETF used to require rough consensus and *working code*.  The latter seems to be out of fashion - especially with a zillion code points for which no working code has been produced, and worse yet, no real world testing has demonstrated any value whatsoever.
>  
> It's also true that almost no actual agreements exist at peering points about what to do at those points.  That's why diffserv appears to be a lot of energy wasted on something that has little to do with inter-networking.
>  
> "intserv" was a plausible idea, because within a vertically integrated system, one can enforce regularity and consistency.
>  
> So my view, for what it is worth, is that there are a zillion better things to put effort into than incorporating diffserv into CeroWRT!

	Well for cerowrt’s egress queue it is nice to be able to select the priority by modifying the DS bits of the packet as some applications can do this directly; the alternative (bear with me here I am a layman) would be deep packet inspection at the router with the problem that even without that the wndrs are having a hard time routing current link speeds even without needing to perform DPI plus I have no idea how to DPI an encrypted connection. So I think that the use of the DS bits inside cerowrt is justified for cero’s core job as a home router. Whether implementing the full DS set is needed of whether the 15 DS bits per browser will help anything is a different question, but sincere we want to handle the bits already it should not be too much work. (For the current SQM system we need to switch DS to queue mapping from independent tc filter invocations to a hashed filter as we run to many filters already and then the only additional work will be mapping 64 codes to 3 queues instead of just 8 or so ;) )

>  
> Cui bono?
>  
> 
> 
> On Thursday, November 13, 2014 12:26pm, "Dave Taht" <dave.taht@gmail.com> said:
> 
> > This appears to be close to finalization, or finalized:
> > 
> > http://tools.ietf.org/html/draft-ietf-dart-dscp-rtp-10
> > 
> > And this is complementary:
> > 
> > http://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-03
> > 
> > While wading through all this is tedious, and much of the advice contradictory,
> > there are a few things that could be done more right in the sqm system
> > that I'd like to discuss. (feel free to pour a cup of coffee and read
> > the drafts)
> > 
> > -1) They still think the old style tos imm bit is obsolete. Sigh. Am I
> > the last person that uses ssh or plays games?
> > 
> > 0) Key to this draft is expecting that the AF code points on a single
> > 5-tuple not be re-ordered, which means dumping AF41 into a priority
> > queue and AF42 into the BE queue is incorrect.
> > 
> > 1) SQM only prioritizes a few diffserv codepoints (just the ones for
> > which I had tools doing classification, like ssh). Doing so with tc
> > rules is very inefficient presently. I had basically planned on
> > rolling a new tc and/or iptables filter to "do the right thing" to map
> > into all 64 codepoints via a simple lookup table (as what is in the
> > wifi code already), rather than use the existing mechanism... and
> > hesitated
> > as nobody had nailed down the definitions of each one.
> > 
> > That said, I have not measured recently the impact of the extra tc
> > filters and iptables rules required.
> > 
> > 1a) Certainly only doing AF42 in sqm is pretty wrong (that was left
> > over from my test patches against mosh - mosh ran with AF42 for a
> > while until they crashed a couple routers with it)
> > 
> > The relevant lines are here:
> > 
> > https://github.com/dtaht/ceropackages-3.10/blob/master/net/sqm-scripts/files/usr/lib/sqm/functions.sh#L411
> > 
> > 1b) The cake code presently does it pretty wrong, which is eminately fixable.
> > 
> > 1c) And given that the standards are settling, it might be time to
> > start baking them into a new tc or iptables filter. This would be a
> > small, interesting project for someone who wants to get their feet wet
> > writing this sort of thing, and examples abound of how to do it.
> > 
> > 2) A lot of these diffserv specs - notably all the AFxx codepoints -
> > are all about variable drop probability. (Not that this concept has
> > been proven to work in the real world) We don't do variable drop
> > probability... and I haven't the slightest clue as to how to do it in
> > fq_codel. But keeping variable diffserv codepoints in order on the
> > same 5 tuple seems to be the way things are going. Still I have
> > trouble folding these ideas into the 3 basic queue system fq_codel
> > uses, it looks to me as most of the AF codepoints end up in the
> > current best effort queue, as the priority queue is limited to 30% of
> > the bandwidth by default.
> > 
> > 
> > 3) Squashing inbound dscp should still be the default option...
> > 
> > 4) My patch set to the wifi code for diffserv support disables the VO
> > queue almost entirely in favor of punting things to the VI queue
> > (which can aggregate), but I'm not sure if I handled AFxx
> > appropriately.
> > 
> > 5) So far as I know, no browser implements any of this stuff yet. So
> > far as I know nobody actually deployed a router that tries to do smart
> > things with this stuff yet.
> > 
> > 6) I really wish there were more codepoints for background traffic than cs1.
> > 
> > --
> > Dave Täht
> > 
> > thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks
> > _______________________________________________
> > Cerowrt-devel mailing list
> > Cerowrt-devel@lists.bufferbloat.net
> > https://lists.bufferbloat.net/listinfo/cerowrt-devel
> >
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel


  reply	other threads:[~2014-11-14 14:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-13 17:26 Dave Taht
2014-11-13 18:45 ` [Cerowrt-devel] " Black, David
2014-11-14 20:36   ` Sebastian Moeller
2014-11-14 20:49     ` Black, David
2014-11-14 21:39       ` Sebastian Moeller
2014-11-14 22:01         ` Black, David
2014-11-14  2:41 ` [Cerowrt-devel] SQM: " dpreed
2014-11-14 14:14   ` Sebastian Moeller [this message]
2014-11-14 19:48     ` Black, David
2014-11-14 14:01 ` Sebastian Moeller
2014-11-14 20:23   ` Black, David

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=377184B7-768D-477D-97FF-6813113E3C56@gmx.de \
    --to=moeller0@gmx.de \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=david.black@emc.com \
    --cc=dpreed@reed.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox