From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-x244.google.com (mail-lf0-x244.google.com [IPv6:2a00:1450:4010:c07::244]) (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 7CBEC3B2A4 for ; Sat, 22 Apr 2017 05:36:36 -0400 (EDT) Received: by mail-lf0-x244.google.com with SMTP id i3so11730230lfh.2 for ; Sat, 22 Apr 2017 02:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=lvXDLQcmwRVtFz0Q7v+btBawgxHzA6LnwI1DUC6PMls=; b=nT1LCI1uBlwsOvvP1Sh/qsd2rAH0JIRnepKma9x2zBtZhrKcBtYF7mOdQjSv9c5KhG RIj/cTGzTZpnNj3ANaUDXP+Tq34fD3FddJ1FIw+qrBfw2knx7pvzKAAZjQ/Zd8kwn2UP 489mIjrp5ksFQfu0E8Weh44V/ehNLABjwJvNB8KEtqiRLEwj4mRzV9ANzoMAxuHsry0g CO6sfW0wCBol+y+i13ViUVK9ouMyvR9iC5XXIQS1By8GF8Nr2lBS7d6+4AK9geapASR1 Xk/GOO00g+oPQga8FTJdUImG+W14CO155jE/iZ08MoLrLjLMJW2gMSkztU5otlwNC9Fm HuXQ== 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=lvXDLQcmwRVtFz0Q7v+btBawgxHzA6LnwI1DUC6PMls=; b=LRnQfjwijz7R5zvCkPKVCv4gfv9J907/eI9fFMyAAF/Wb1t7cpaWe19OQpxjvVNQNU /2hJmvcz4g89fK7rlEwpKL2bR2QMECjukWtyUWeiNDfTlrSS18EzsB7Us/IagIlQd+f0 z3UHbVys3U//zf3iFB9cS+gA7J85uSdzFdfEWIs7nx08ebxfdw+26A+L0AAxC5xEKF0P VRfWvhbw8RTrRBKbQOE7PNGpNVl8kB753nOnfCjDJ8PRpjDq7pHvXn6KObpfzMj0DgT0 TIWrX/UCA0kcwh8AYtkBkbSI6aCH96ebxvpwCJ3cmM67YxYiSDSTfixt0AZXfxOMT9EU 1jFw== X-Gm-Message-State: AN3rC/5GOK/NyUDZ1zS03Zhh986Vo2SJFQ5r+tw59TH9gYtE6xS2cX1N aSQOToEuru6owA== X-Received: by 10.46.13.18 with SMTP id 18mr6142890ljn.37.1492853795104; Sat, 22 Apr 2017 02:36:35 -0700 (PDT) Received: from [192.168.100.12] (37-219-103-185.nat.bb.dnainternet.fi. [37.219.103.185]) by smtp.gmail.com with ESMTPSA id b62sm2052251lfb.17.2017.04.22.02.36.33 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 22 Apr 2017 02:36:34 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) From: Jonathan Morton In-Reply-To: Date: Sat, 22 Apr 2017 12:36:28 +0300 Cc: Sebastian Moeller , cake@lists.bufferbloat.net Content-Transfer-Encoding: quoted-printable Message-Id: References: <05C0B0C7-4337-4115-AC6B-DA81392FCB34@gmail.com> <22E633CF-5EE0-4B0F-89A8-B790E730FB6C@gmx.de> To: Dendari Marini X-Mailer: Apple Mail (2.3124) Subject: Re: [Cake] Getting Cake to work better with Steam and similar applications X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Apr 2017 09:36:36 -0000 >> So please add =E2=80=9Catm overhead 32" to cake on eth0 or =E2=80=9Catm= overhead 40=E2=80=9D to cake instances on pppoe (these packets do not = have the PPPoE header added yet and hence appear 8 bytes to small). >=20 > Thanks for your help, will definitely use them. Just wondering if I = use "pppoe-vcmux/bridged-llcsnap" on eth0 or "pppoe-llcsnap" on pppoe0 = would have the same effect? Or are there some other "under-the-hood" = changes when using them? On the pppoe interface, use pppoe-vcmux if your modem is set to use = VC-MUX, or pppoe-llcsnap if it=E2=80=99s set to use LLC-SNAP (they might = be described using slightly different terms, but should still be = recognisable as one or the other). This probably depends on your ISP, = and may further vary regionally within the same ISP. I really prefer to use the self-explanatory keywords (which is why I = added them in the first place) instead of opaque magic numbers. This is = a point on which Sebastian has long disagreed with me. >> Question: if you set the shaper=E2=80=99s to 50% of line rate = (8.75/0.5?) do you still see that unfairness? And if you add =E2=80=9Catm = overhead 40=E2=80=9D to cake on pppoe0 and set the shaper to 90% of line = rates (15.75/0.9) how does the Steam affect per-host fairness? Also how = transient are these connections team uses? >=20 > Actually did more testing about this and it seems that as far I have = set the bandwidth to ~15Mbps (so ~15% less of my max speed) and use the = "nat" parameter, the per-host fairness works even without the = "dual-host" and "overhead" parameters. I definitely find this very = interesting, is this behaviour caused by the way Steam downloads games? By default, Cake uses triple-isolate mode, which uses information about = both source and destination hosts to perform per-host isolation; this = usually works well regardless of which side of the connection has the = LAN hosts. The =E2=80=9Cdual=E2=80=9D modes let you specify that fact = explicitly, making it a little more robust and predictable. Without overhead compensation, Cake will actually use more of the = physical link than it thinks it does - by default it only accounts for = raw IP or Ethernet packets, depending on the type of interface it=E2=80=99= s attached to. With full-size packets as in a bulk download, the = difference is relatively small, so the 15% margin is just about = sufficient to make things work. But with small packets mixed in, the = difference grows, such that Cake might no longer control the bottleneck = with some traffic mixes. The =E2=80=9Cconservative=E2=80=9D keyword I recommended earlier (which = is exactly equivalent to Sebastian=E2=80=99s recommendation of =E2=80=9Cat= m overhead 48=E2=80=9D) reverses that situation; Cake will then always = end up using *less* of the physical link than it accounts for, which is = safe for troubleshooting with. The keyword is there specifically so = that we do=E2=80=99t have to figure out the precise overhead profile = before tackling more substantive issues. At any rate, it has nothing to do with Steam specifically. >> As far as I can tell cake can drill down to the required IP/TCP/UDP = fields independent of whether there are VLAN tags or PPPoE headers so = cake should not care (except for the different overhead specifications = you need to add as stated above). BUT if instantiated on eth0 cake will = see pppoe LCP packets and might decide to drop them, which can take down = the link, so out of caution I would still instantiate on pppoe in your = case. >=20 > Yeah, with further testing it seems the interface wasn't the culprit = but I'll still do all my testing on pppoe0 just to be safe. >=20 > Anyway I was wondering if there's some kind of manual for Cake and the = various parameters, I'm looking to set it up best way possible but there = are some parameters which I'm not sure what they do (one of them being = "ingress=E2=80=9D). With the correct version of iproute2 installed, just issue =E2=80=9Cman = tc-cake=E2=80=9D. That=E2=80=99s the official documentation. Currently it doesn=E2=80=99t have the ingress keyword yet. That=E2=80=99l= l be fixed soon. > Also while reading on the bufferbloat.net Cake page I noticed a = possible "fix" for BitTorrent (by setting it as "background", = https://www.bufferbloat.net/projects/codel/wiki/Cake/#diffserv-support), = I'm wondering if this can be done with Steam too? It=E2=80=99s possible, if you can figure out which traffic is Steam in = the first place, and write filters to match on it. This is complicated = by the fact that Valve runs a sophisticated CDN to handle their rather = impressive bandwidth load. - Jonathan Morton