From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.toke.dk (mail.toke.dk [45.145.95.4]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 39AA03B29D for ; Wed, 12 Feb 2020 06:41:37 -0500 (EST) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1581507695; bh=bWphp9kIhQP3IiNG0JKAUZ7RMT0zv3Kw551uMaKk3aE=; h=From:To:Subject:In-Reply-To:References:Date:From; b=yqAI9JQ4a1NUQfNHCRlFzqSm30fYcLzZ1DM/QLtUmNpPzkVlZr06nIVIFiDMPI65l D6rVmhGAc6ZL5egRLA7yhIaBr87/vA4dLF7DJYYoyWa2Qy5d3UhwL6AANzg4yGq8l4 AbtOGgwn3VaSXFE3O0DrYvBseiKNY6Kixas54meRaGMpVMdNe5MjTZ9tfcd2WlaURW fQEwi40ANaTdFx6BFp2DvYF409cMr6tWktQfzBrOadPnhz8x6QR1fBy70txspX/XpD G2ES9cWs1y9xklX1ktnBjT9uAHISGVfkeVw4WgtbL1xvZgvn7tLR7cha/LYp+CntoM SKduHJ9NdgE5A== To: Daniel Sterling , bloat@lists.bufferbloat.net In-Reply-To: References: Date: Wed, 12 Feb 2020 12:41:35 +0100 X-Clacks-Overhead: GNU Terry Pratchett Message-ID: <87imkchw28.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Bloat] is extremely consistent low-latency for e.g. xbox possible on SoHo networks w/o manual configuration? X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Feb 2020 11:41:37 -0000 Daniel Sterling writes: > Good day list, > > I am looking for input / discussion on how to achieve: > > * on a "regular" SoHo network > > * first and foremost, to the exclusion of all other goals, consistent > low-latency for non-bulk streams from particular endpoints; usually > those streams are easily identified and differentiated from all other > streams based on UDP/TCP port number, > > * and assuming the identified and prioritized streams behave > themselves and stay non-bulk, decent throughput for all other traffic. > > > That is to say, some endpoints are more important than others; and > moreover some apps on some endpoints are most important. > > > In my case the traffic that needs to be low-latency no matter what is > xbox FPS gaming traffic (Call of Duty UDP traffic is especially easy > to prioritize, as it typically uses port 3075). > > > How would you customize your network to achieve those goals? > > > Here is what I have done; please provide any and all feedback: > > > I put a linux laptop between CPE (WAN) and LAN. AT&T fiber in my case, > 100+ mbit up and down. > > I've a tc script that drastically limits bandwidth for non-prioritized > traffic (where priority is based on UDP/TCP port number). > > The theory is that this ensures prioritized traffic always has plenty > of available bandwidth to send / receive data, and will never > experience latency unless it's misbehaved / incorrectly classified. > > > > Here is what I have NOT done: > > I didn't use tc_cake WITHOUT adding a layer of port-based > prioritization. On a typical SoHo network, I don't see how it would be > possible to ensure xbox traffic never experiences latency w/o > prioritizing streams *before* cake sees them. > > > Does this make sense? First off, on a 100mbit+ link, my guess would be that just putting in cake with nothing other than a bandwidth parameter would achieve the gaming performance you want. You'd need a *lot* of other bulk flows to saturate the link to a point where the gaming traffic would no longer be considered "sparse" (and thus get automatic priority). That being said, if you do want to prioritise based on port numbers, CAKE has its own built-in priority tiers (if you don't run it in 'besteffort' mode), and that does support filtering based on TC rules. So you don't need the prio qdisc, you can just steer the traffic into the high-prio cake tin... -Toke