From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 8E0393B2A4 for ; Sat, 7 Sep 2019 07:33:51 -0400 (EDT) Received: by mail-wm1-x344.google.com with SMTP id r195so9750540wme.2 for ; Sat, 07 Sep 2019 04:33:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heistp.net; s=google; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=O/ZFrWn+XgKJ/LmBAanGygN3qdt87gMzH8zCind05v0=; b=FDmy5vmRSrkEpoS7446KdRdl4KHs3Zln84ldQm7XejuSXOdcMgaQKz8Coy91c4IGSj wFfoTz1+DQZ8CEpfJEWqUkf87trr5ZclQcZqAxTfcVU/Dpj6n7bUlNfcmlxwXUanUO9B O/gAy6xu+XMTFysvRr3KS+4y0KtxnB5LgG+gQ6XrenYxULvFzcUbK9hnySKsFjdfWvP3 N58lmusAwgPlvULLPGJ9KerXDb4cMdSts/Z+Mg+kO8OGPsEE4c1ZNj1Xc6xONTj9D5kr 1EkPZormvIT1S7UBu/JyCYjYUWYQx4IoPdcJNIyG1oLLRnemsLhWO7GGUsmRpa4Ob16l UQ7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=O/ZFrWn+XgKJ/LmBAanGygN3qdt87gMzH8zCind05v0=; b=RyFtTfwOTS+yBitk1zLf1Fc7G1aYqeT1xGtm1u88pVeppyLHPqSdzY901IiKFNZ3Nq urYhSGBf6BD2CmHn1SdH9by9T2mCHyl+Z7vYOIjXT2ob3w0FROwCHstSCFVybiNUiHBo 8KW8qNLq2B2N2NHmV4Q1Mty9uFKBuW/yrnTC15lYf6N8kZePDOhvy6ee6E+Gzcjv23oL 69UWDacqPaaRWkcEBmmqX3ZCF3o1BqKuFen9UonOGJ/Y79VwG4PbihKdIWhWRWbJH48g +oIcM0SFr9BuGNg3G6ubK+T+Kaw4kCBkYWeV9o/R+EA/5uNxgZU/QpG+K0/tjWgSRWNI OD0g== X-Gm-Message-State: APjAAAVCY7nKc7lBdd2J4JCFrEPeJClccg3TasHBdDPJD3DwvfHmwfH6 Mur//DgurQt1EsYdjz3FK6J+Pg== X-Google-Smtp-Source: APXvYqzRzIPmDHIYf+38H17yZrIkl5EwGJdLzOxz5Jh4wlr/vSKD8ET1ufVJSMxMOW/RYwWnh3z7VQ== X-Received: by 2002:a7b:cf35:: with SMTP id m21mr11646245wmg.38.1567856030770; Sat, 07 Sep 2019 04:33:50 -0700 (PDT) Received: from [10.72.0.64] (h-1169.lbcfree.net. [185.193.85.130]) by smtp.gmail.com with ESMTPSA id g9sm13965398wrc.11.2019.09.07.04.33.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 Sep 2019 04:33:50 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) From: Pete Heist In-Reply-To: <87lfv1xbmk.fsf@toke.dk> Cc: =?utf-8?Q?Toke_H=C3=B8iland-J=C3=B8rgensen?= , bloat@lists.bufferbloat.net, Matt Taggart , cerowrt-devel Content-Transfer-Encoding: quoted-printable Message-Id: <5D47BF2C-025A-46F0-857C-B2EB673ED798@heistp.net> References: <874l1p25ka.fsf@toke.dk> <63E4F227-7BC3-4238-B3F2-8B57118AAFD1@gmx.de> <87ef0tz4p2.fsf@toke.dk> <875zm5yr8m.fsf@toke.dk> <87lfv1xbmk.fsf@toke.dk> To: Sebastian Moeller X-Mailer: Apple Mail (2.3445.9.1) X-Mailman-Approved-At: Mon, 30 Mar 2020 07:21:14 -0400 Subject: Re: [Cerowrt-devel] [Bloat] Ubiquiti Launches a Speed Test Network X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Sat, 07 Sep 2019 11:33:51 -0000 X-Original-Date: Sat, 7 Sep 2019 13:33:48 +0200 X-List-Received-Date: Sat, 07 Sep 2019 11:33:51 -0000 > On Sep 7, 2019, at 1:12 AM, Toke H=C3=B8iland-J=C3=B8rgensen = wrote: >=20 >>>> =46rom irtt help client: >>>> --fill=3Dfill 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=3Dfill request server fill (default not specified) >>>> see options for --fill >>>> server must support and allow this fill with = --allow-fills >>>=20 >>> As above, we're doing --fill=3Drand today. >>=20 >> Sama as above, but maybe Pete could be convinced to do the read = back of the first X bytes automatically. >=20 > Certainly not opposed to adding this support to Flent if it = materialises > in irtt :) Coming into this late so haven=E2=80=99t parsed the full request, but = irtt sends the requested DSCP value passed in via --dscp to the server = during the handshake. It would be possible, though not very intuitive, = to pull this out of the initial request packet, which contains = type/value pairs encoded with varint style encoding: = https://developers.google.com/protocol-buffers/docs/encoding. The format of the request is =E2=80=9Cdocumented=E2=80=9D in code in the = bytes() method in params.go. Visually, the DSCP value is often the value = 0x08, close to the end of the initial packet, following by the DSCP = value as a signed varint. (Clearly, it would have made more sense if = I=E2=80=99d just sent that as an unsigned byte instead of using a = varint, let alone a signed one, but I just leaned on the binary = package=E2=80=99s varint support, such as it is, so one has to grok = this: = https://developers.google.com/protocol-buffers/docs/encoding#signed-intege= rs. I=E2=80=99ve added it to irtt=E2=80=99s todo list to clean this up = before 1.0, which will mean a protocol version bump). One unfortunate thing is that if the goal is to verify that DSCP values = have not been modified along the way (without a pcap), afaik the = receiver has no way of obtaining the received DSCP value in user space = without opening up a raw socket and parsing the IP packet in full = (requiring root). But, figuring it out from packet dumps would be = possible. If I ever get around to adding irtt support to scetrace = (https://github.com/heistp/scetrace), I could detect and count changes = to dscp values there, though that=E2=80=99s a ways off at the moment. Knowing all this, are there any simple changes I can make to get you = what you need?