From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp171.iad.emailsrvr.com (smtp171.iad.emailsrvr.com [207.97.245.171]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by huchra.bufferbloat.net (Postfix) with ESMTPS id 1DAD621F11D for ; Mon, 26 Nov 2012 08:37:46 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp57.relay.iad1a.emailsrvr.com (SMTP Server) with ESMTP id 967DAF83E4; Mon, 26 Nov 2012 11:37:44 -0500 (EST) X-Virus-Scanned: OK Received: from legacy5.wa-web.iad1a (legacy5.wa-web.iad1a.rsapps.net [192.168.2.221]) by smtp57.relay.iad1a.emailsrvr.com (SMTP Server) with ESMTP id 6AB2AF83B5; Mon, 26 Nov 2012 11:37:43 -0500 (EST) Received: from reed.com (localhost [127.0.0.1]) by legacy5.wa-web.iad1a (Postfix) with ESMTP id 761912E9802E; Mon, 26 Nov 2012 11:37:43 -0500 (EST) Received: by apps.rackspace.com (Authenticated sender: dpreed@reed.com, from: dpreed@reed.com) with HTTP; Mon, 26 Nov 2012 11:37:43 -0500 (EST) Date: Mon, 26 Nov 2012 11:37:43 -0500 (EST) From: dpreed@reed.com To: "Michael Richardson" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_20121126113743000000_18883" Importance: Normal X-Priority: 3 (Normal) X-Type: html In-Reply-To: <13866.1353944313@obiwan.sandelman.ca> References: <20121125232034.GF24680@merlins.org> <31933.1353939756@obiwan.sandelman.ca> <1353942251.571510886@apps.rackspace.com> <13866.1353944313@obiwan.sandelman.ca> Message-ID: <1353947863.437620265@apps.rackspace.com> X-Mailer: webmail7.0 Cc: cerowrt-users@lists.bufferbloat.net, cerowrt-devel@lists.bufferbloat.net Subject: Re: [Cerowrt-devel] [Cerowrt-users] QOS settings vs speedboost and random bandwidth X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Nov 2012 16:37:46 -0000 ------=_20121126113743000000_18883 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =0AMichael - My kludge code predated all of the "bloat" activity (I wrote i= t in 2002, when I had a Linux box as my home router, and I stopped using it= because as a practical matter it was easier to use off-the-shelf home rout= ers to support my family when I travel). It was a complete kludge using a = modified kernel, etc. Not the right way to do it, and probably impossible = to understand.=0A =0ABut I've thought about coding it again for cerowrt. W= here to modularly slot it in seems to be worth thinking about. Perhaps in = two key pieces: an iptables/xfilter module and a routing/traffic control mo= dule - with some direct interaction between the two using some appropriate = intermodule bus/link/coordination link.=0A =0AI'd be happy to think about d= efining the pieces, but I really don't have time to code it, given all the = other stuff I've done. I wonder if by putting it in these modules, one can= use existing kernel APIs.=0A =0A =0A =0A-----Original Message-----=0AFrom:= "Michael Richardson" =0ASent: Monday, November 26, 2012 = 10:38am=0ATo: dpreed@reed.com=0ACc: cerowrt-users@lists.bufferbloat.net, ce= rowrt-devel@lists.bufferbloat.net=0ASubject: Re: [Cerowrt-devel] [Cerowrt-u= sers] QOS settings vs speedboost and random bandwidth=0A=0A=0A=0A>>>>> "dpr= eed" =3D=3D dpreed writes:=0A dpreed> You can use a smal= l fraction of the capacity of the cable=0A dpreed> uplink path to measure i= ts queueing delay dynamically, and=0A dpreed> when it gets longer than late= ncy*"expected bitrate", reduce=0A dpreed> "expected bitrate". =0A=0A dpreed= > You want to do this *as quickly as possible*, so what you do=0A dpreed> i= s insert a "link monitor" task in the driver that sends=0A dpreed> tiny pro= be packets addressed to the nearest "loopback point"=0A dpreed> you can fin= d/create on the other side, and measure the RTT.=0A dpreed> You can use, fo= r example, the technique used by traceroute,=0A dpreed> which is to set the= hop count to the smallest number that=0A dpreed> causes a return ICMP pack= et to be sent, and send one of=0A dpreed> those periodically. =0A=0AAs I un= derstand it, you can do this with 802.1ag=0A http://en.wikipedia.org/wiki/I= EEE_802.1ag, =0Awith the Loop-back frames as well.=0A=0AWhether or not any = of this is enabled on typical broadband networks, I=0Ahave no idea.=0A=0A d= preed> I used this specific technique to cause my uplink queue to=0A dpreed= > move back into my router, where I could manage it. You can=0A dpreed> al= so use it for the downlink queue measurement, but it=0A dpreed> doesn't mov= e the queue into the router smoothly, instead you=0A dpreed> have to drop/E= CN-mark the IP frames coming in. =0A=0A dpreed> This can all be done betwee= n the IP layer and layer 2.=0A dpreed> Since it exploits speedboost better,= it might be worth=0A dpreed> adding as an option to cerowrt, so you don't = have to set a=0A dpreed> speed limit explicitly when you have a single conn= ection to=0A dpreed> the public Internet. =0A=0Awow, this would be awesome.= .. code??=0A-- =0A] He who is tired of Weird Al is tired of life! = | firewalls [=0A] Michael Richardson, Sandelman Software Works, = Ottawa, ON |net architect[=0A] mcr@sandelman.ottawa.on.ca http://www.san= delman.ottawa.on.ca/ |device driver[=0A Kyoto Plus: watch the video =0A then sign the petition. =0A=0A ------=_20121126113743000000_18883 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

= Michael - My kludge code predated all of the "bloat" activity (I wrote it i= n 2002, when I had a Linux box as my home router, and I stopped using it be= cause as a practical matter it was easier to use off-the-shelf home routers= to support my family when I travel).  It was a complete kludge using = a modified kernel, etc.  Not the right way to do it, and probably impo= ssible to understand.

=0A

 

=0A<= p style=3D"margin:0;padding:0;">But I've thought about coding it again for = cerowrt.  Where to modularly slot it in seems to be worth thinking abo= ut.  Perhaps in two key pieces: an iptables/xfilter module and a routi= ng/traffic control module - with some direct interaction between the two us= ing some appropriate intermodule bus/link/coordination link.

=0A

 

=0A

I'd = be happy to think about defining the pieces, but I really don't have time t= o code it, given all the other stuff I've done.  I wonder if by puttin= g it in these modules, one can use existing kernel APIs.

=0A

 

=0A

 =0A

 

=0A

-----Original Message-----
From: "Michael Richardson" <mcr= @sandelman.ca>
Sent: Monday, November 26, 2012 10:38am
To: dpr= eed@reed.com
Cc: cerowrt-users@lists.bufferbloat.net, cerowrt-devel@li= sts.bufferbloat.net
Subject: Re: [Cerowrt-devel] [Cerowrt-users] QOS s= ettings vs speedboost and random bandwidth

=0A

>>>>> "dpreed" =3D=3D dpreed <d= preed@reed.com> writes:
dpreed> You can use a small fraction of= the capacity of the cable
dpreed> uplink path to measure its queu= eing delay dynamically, and
dpreed> when it gets longer than laten= cy*"expected bitrate", reduce
dpreed> "expected bitrate".
dpreed> You want to do this *as quickly as possible*, so what you d= o
dpreed> is insert a "link monitor" task in the driver that sends=
dpreed> tiny probe packets addressed to the nearest "loopback poi= nt"
dpreed> you can find/create on the other side, and measure the= RTT.
dpreed> You can use, for example, the technique used by trac= eroute,
dpreed> which is to set the hop count to the smallest numb= er that
dpreed> causes a return ICMP packet to be sent, and send o= ne of
dpreed> those periodically.

As I understand it, = you can do this with 802.1ag
http://en.wikipedia.org/wiki/IEEE_802.1a= g,
with the Loop-back frames as well.

Whether or not any o= f this is enabled on typical broadband networks, I
have no idea.
=
dpreed> I used this specific technique to cause my uplink queue t= o
dpreed> move back into my router, where I could manage it. You = can
dpreed> also use it for the downlink queue measurement, but it=
dpreed> doesn't move the queue into the router smoothly, instead = you
dpreed> have to drop/ECN-mark the IP frames coming in.
<= br /> dpreed> This can all be done between the IP layer and layer 2.
dpreed> Since it exploits speedboost better, it might be worth
= dpreed> adding as an option to cerowrt, so you don't have to set a
= dpreed> speed limit explicitly when you have a single connection to
dpreed> the public Internet.

wow, this would be awesome..= . code??
--
] He who is tired of Weird Al is tired of life= ! | firewalls [
] Michael Richardson, Sandelman Software= Works, Ottawa, ON |net architect[
] mcr@sandelman.ottawa.on.ca htt= p://www.sandelman.ottawa.on.ca/ |device driver[
Kyoto Plus: watch the= video <http://www.youtube.com/watch?v=3Dkzx1ycLXQSE>
then sign= the petition.

------=_20121126113743000000_18883--