General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Sebastian Moeller <moeller0@gmx.de>
Cc: Mikael Abrahamsson <swmike@swm.pp.se>,
	Matt Taggart <matt@lackof.org>,
	cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>,
	bloat@lists.bufferbloat.net
Subject: Re: [Bloat] [Cerowrt-devel] Ubiquiti Launches a Speed Test Network
Date: Fri, 06 Sep 2019 23:50:01 +0100	[thread overview]
Message-ID: <875zm5yr8m.fsf@toke.dk> (raw)
In-Reply-To: <FE46A0E6-3A56-4D00-A400-BB6C57F02F2F@gmx.de>

Sebastian Moeller <moeller0@gmx.de> writes:

> Hi Toke,
>
>
>> On Sep 6, 2019, at 19:59, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>> 
>> Sebastian Moeller <moeller0@gmx.de> writes:
>> 
>>> Hi Toke,
>>> 
>>>> On Sep 6, 2019, at 10:27, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>>>> 
>>>> Mikael Abrahamsson <swmike@swm.pp.se> writes:
>>>> 
>>>>> On Wed, 4 Sep 2019, Matt Taggart wrote:
>>>>> 
>>>>>> So an interesting idea but they have some things they could improve.
>>>>> 
>>>>> I've been considering what one should run in parallel with the speed test 
>>>>> to get an impression if the speedtest impacts performance of other flows / 
>>>>> realtime flows, similar to what dslreports speedtest does.
>>>>> 
>>>>> I've considered running one or several simulated voip calls (50pps) and 
>>>>> record RTT, PDV, packet loss etc for this session.
>>>>> 
>>>>> It would be interesting to hear any suggestions people have for a fairly 
>>>>> simple codebase that does this that can be included in these kinds of test 
>>>>> clients (both server and client end, and of course one that protects 
>>>>> against reflection attacks etc).
>>>>> 
>>>>> iperf3 can be used for this, but from what I can see the iperf3 server 
>>>>> code isn't very friendly to multiple parallel tests or even resilient 
>>>>> against hung clients that doesn't close the test nicely.
>>>>> 
>>>>> I also considered using WebRTC or VoIP libraries, does anyone know what 
>>>>> RTT/PDV/packet loss data can be extracted from some common ones?
>>>> 
>>>> Pete coded up this wonderful tool for UDP-based latency testing; it's
>>>> even supported in Flent, and available on some (all?) the public-facing
>>>> servers:
>>>> 
>>>> https://github.com/heistp/irtt
>>> 
>>> This reminds of a tangentially related question, do we/could we
>>> actually write the requested DSCP into the packet payloads so we could
>>> see/display dscp bleaching/remapping packets experience during
>>> transit? For irtt, ping and even netperf TCP/UDP flows?
>> 
>> irtt could definitely do this; not sure if it does. Ping and Netperf,
>> probably not...
>
> From man ping (on linux):
> -p pattern
>               You may specify up to 16 ``pad'' bytes to fill out the packet you send.  This is useful for diagnosing data-depen‐
>               dent problems in a network.  For example, -p ff will cause the sent packet to be filled with all ones.
>
> From man ping (macosx 10.14):
> -p pattern
>              You may specify up to 16 ``pad'' bytes to fill out the packet you send.  This is useful for diagnosing
>              data-dependent problems in a network.  For example, ``-p ff'' will cause the sent packet to be filled
>              with all ones.

Yeah, but you can't read back the output...

> With fping I come up empty
>
> From man netperf (not sure how this wirks for servers):
> -F fill_file
>               Pre-fill the send buffers with data from the named file. This is intended to provide a means for  avoid-
>               ing buffers that are filled with data which is trivially easy to compress. A good choice for a file that
>               should be present on any system is this manpage - netperf.man.  Other files may be provided as  part  of
>               the distribution.:
> (so this would require us to distribute/generate 63 files for each dscp?)

We're already using -F /dev/urandom to prevent the netperf data from
being compressible... And also, this cannot be read back.


> From irtt help client:
> --fill=fill    fill payload with given data (default none)
>                none: leave payload as all zeroes
>                rand: use random bytes from Go's math.rand
>                pattern:XX: use repeating pattern of hex (default 69727474)
> --fill-one     fill only once and repeat for all packets
> --sfill=fill   request server fill (default not specified)
>                see options for --fill
>                server must support and allow this fill with --allow-fills

As above, we're doing --fill=rand today.

> This might actually work, and if it required a packetdump to compare
> DSCP and intended DSCP that would already be much better than what we
> have today, no?

Well, I'm sorta skeptical that anyone would actually look at those
packet dumps ;)

  reply	other threads:[~2019-09-06 22:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-04 19:49 [Bloat] " Matt Taggart
2019-09-06  8:15 ` [Bloat] [Cerowrt-devel] " Mikael Abrahamsson
2019-09-06  8:27   ` Toke Høiland-Jørgensen
2019-09-06  9:56     ` Sebastian Moeller
2019-09-06 12:18       ` Mikael Abrahamsson
2019-09-06 17:59       ` Toke Høiland-Jørgensen
2019-09-06 18:33         ` Sebastian Moeller
2019-09-06 22:50           ` Toke Høiland-Jørgensen [this message]
2019-09-06 22:56             ` Sebastian Moeller
2019-09-06 23:12               ` Toke Høiland-Jørgensen
2019-09-07 11:33                 ` Pete Heist
2019-09-07 12:02                   ` Sebastian Moeller
2019-09-07 13:09                     ` Pete Heist
2019-09-07 13:47                     ` Valdis Klētnieks

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/bloat.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=875zm5yr8m.fsf@toke.dk \
    --to=toke@toke.dk \
    --cc=bloat@lists.bufferbloat.net \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=matt@lackof.org \
    --cc=moeller0@gmx.de \
    --cc=swmike@swm.pp.se \
    /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