Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Andy Furniss <adf.lists@gmail.com>
To: "Sebastian Moeller" <moeller0@gmx.de>, "Dave Täht" <dave.taht@gmail.com>
Cc: Alan Goodman <notifications@yescomputersolutions.com>,
	"cerowrt-devel@lists.bufferbloat.net"
	<cerowrt-devel@lists.bufferbloat.net>,
	"lartc@vger.kernel.org" <lartc@vger.kernel.org>
Subject: Re: [Cerowrt-devel] Correctly calculating overheads on unknown connections
Date: Mon, 22 Sep 2014 11:01:34 +0100	[thread overview]
Message-ID: <541FF37E.8080904@gmail.com> (raw)
In-Reply-To: <6DF5DFA0-D88E-470E-ACB6-37703EA964E7@gmx.de>

Sebastian Moeller wrote:
> Hi Dave, hi Andy,
>
>
>
>
> On Sep 20, 2014, at 19:55 , Dave Taht <dave.taht@gmail.com> wrote:
>
>> We'd had a very long thread on cerowrt-devel and in the end
>> sebastian (I think) had developed some scripts to exaustively (it
>> took hours) derive the right encapsulation frame size on a link. I
>> can't find the relevant link right now, ccing that list…
>
> I am certainly not the first to have looked at ATM encapsulation
> effects on DSL-links, e.g. Jesper Dangaard Brouer wrote a thesis
> about this topic (see http://www.adsl-optimizer.dk) and together with
> Russel Stuart (http://ace-host.stuart.id.au/russell/files/tc/tc-atm/)
> I believe they taught the linux kernel about how to account for
> encapsulation. What you need to tell the kernel is whether or not you
> have ATM encapsulation (ATM is weird in that each ip Packet gets
> chopped into 48 byte cells, with the last partially full cell padded)
> and the per packet overhead on your link. You can either get this
> information from your ISP and/or from the DSL-modem’s information
> page, but both are not guaranteed to be available/useful. So I set
> out to empirically deduce this information from measurements on my
> own link. I naively started out with using ICMP echo requests as
> probes (as I easily could generate probe packets with different sizes
> with the linux/macosx ping binary), as it turned out, this works well
> enough, at least for relatively slow ADSL-links. So ping_sweeper6.sh
> (attached) is the program I use (on an otherwise idle link, typically
> over night) to collect ~1000 repetitions of time stamped ping packets
> spanning two (potential) ATM cells. I then use
> tc_stab_parameter_guide.m (a matlab/octave program) to read in the
> output of the ping_sweeper script and process the data. In short if
> the link runs ATM encapsulation the plot of the data needs to look
> like a stair with 48 byte step width, if it is just smoothly
> increasing the carrier is not ATM. For ATM links and only ATM links,
> the script also tries to figure out the per packet overhead which
> always worked well for me. (My home-link got recently a silent
> upgrade where the encapsulation changed from 40 bytes to 44 bytes
> (probably due to the introduction of VLAN tags), which caused some
> disturbances in link capacity measurements I was running at the time;
> so I ran my code again and lo and behold the overhead had increased,
> which caused the issues with the measurements, as after taking the
> real overhead into account the disturbances went away, but I guess I
> digress ;) )

Sounds like a handy script, though I am not so sure it would help for
vdsl 64/65 (if that is actually used!). I don't think there is any
padding (but may be wrong!).

As for the history, Yea Jesper got his stuff in - but didn't allow
negative overheads so I still used to have to patch tc to workaround that.

Before his work there was some user space code by IIRC Dan Singletary
which I used for a while and later Ed Wildgoose analysed the kernel code
and posted patches for htb and tc on the original lartc list which I
used for some time before Jespers code got in.



  parent reply	other threads:[~2014-09-22 10:01 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <541C9527.1070105@yescomputersolutions.com>
     [not found] ` <541DA8B5.70701@gmail.com>
2014-09-20 17:55   ` Dave Taht
2014-09-20 22:29     ` Andy Furniss
2014-09-21 18:35     ` Sebastian Moeller
     [not found]       ` <CAK1m8mPBWyg-sR-ekZGUhsOG-0HoZd3eJ-Q6HJpSLyN-J90kHg@mail.gmail.com>
2014-09-21 21:40         ` Alan Goodman
2014-09-22  9:05         ` Sebastian Moeller
2014-09-22 10:01       ` Andy Furniss [this message]
2014-09-22 10:20         ` Sebastian Moeller
2014-09-22 13:09       ` Alan Goodman
2014-09-22 19:52         ` Sebastian Moeller
2014-09-22 23:02           ` Alan Goodman
2014-09-23  9:32             ` Sebastian Moeller
2014-09-23 15:10               ` Andy Furniss
2014-09-23 17:47                 ` Sebastian Moeller
2014-09-23 19:05                   ` Andy Furniss
2014-09-23 22:16                     ` Sebastian Moeller
2014-09-24  9:17                       ` Andy Furniss
2014-09-24 16:23                         ` Sebastian Moeller
2014-09-24 22:48                           ` Andy Furniss

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=541FF37E.8080904@gmail.com \
    --to=adf.lists@gmail.com \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    --cc=lartc@vger.kernel.org \
    --cc=moeller0@gmx.de \
    --cc=notifications@yescomputersolutions.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