[Cerowrt-devel] [Cerowrt-users] QOS settings vs speedboost and random bandwidth

dpreed at reed.com dpreed at reed.com
Mon Nov 26 11:37:43 EST 2012


Michael - My kludge code predated all of the "bloat" activity (I wrote it 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 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 impossible to understand.
 
But I've thought about coding it again for cerowrt.  Where 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 module - with some direct interaction between the two using some appropriate intermodule bus/link/coordination link.
 
I'd be happy to think about defining 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.
 
 
 
-----Original Message-----
From: "Michael Richardson" <mcr at sandelman.ca>
Sent: Monday, November 26, 2012 10:38am
To: dpreed at reed.com
Cc: cerowrt-users at lists.bufferbloat.net, cerowrt-devel at lists.bufferbloat.net
Subject: Re: [Cerowrt-devel] [Cerowrt-users] QOS settings vs speedboost and random bandwidth



>>>>> "dpreed" == dpreed  <dpreed at reed.com> writes:
 dpreed> You can use a small fraction of the capacity of the cable
 dpreed> uplink path to measure its queueing delay dynamically, and
 dpreed> when it gets longer than latency*"expected bitrate", reduce
 dpreed> "expected bitrate". 

 dpreed> You want to do this *as quickly as possible*, so what you do
 dpreed> is insert a "link monitor" task in the driver that sends
 dpreed> tiny probe packets addressed to the nearest "loopback point"
 dpreed> you can find/create on the other side, and measure the RTT.
 dpreed> You can use, for example, the technique used by traceroute,
 dpreed> which is to set the hop count to the smallest number that
 dpreed> causes a return ICMP packet to be sent, and send one of
 dpreed> those periodically. 

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

Whether or not any of this is enabled on typical broadband networks, I
have no idea.

 dpreed> I used this specific technique to cause my uplink queue to
 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. 

 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 at sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[
 Kyoto Plus: watch the video <http://www.youtube.com/watch?v=kzx1ycLXQSE>
 then sign the petition. 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cerowrt-devel/attachments/20121126/a774d440/attachment-0002.html>


More information about the Cerowrt-devel mailing list