From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-x232.google.com (mail-ob0-x232.google.com [IPv6:2607:f8b0:4003:c01::232]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 3FC3021F3E2; Thu, 14 May 2015 07:35:38 -0700 (PDT) Received: by obcus9 with SMTP id us9so54266177obc.2; Thu, 14 May 2015 07:35:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=/FKD5bPMCzZ0c7U2Wp+kDvJhMPw5SVH8UH3NhjZXFI4=; b=iqL7OPw1UIzFjktCjiqzK7LBmB0+1kiizYECZU/bZwElCziiUhXmjTmoxl1R+K/0EM tEYlyKiJTMrIOyPKElf6n2XYHV6KCgTXGtkFqq/H4EC3Hw3bwXqZdDObczt5/Kj3BIch YPMz/TAsMDEJZYFX0Wi6wmrYwP9lmNZ3PRAq1QLjwYuNcYjsn+wM5DDBINyNW1OirLX5 5Shn7HiVmFVwUrF2d/aToXKVG6lXaqEa1JP9rLeLV1Db2x91A++hOMlK1U9wvLszH4AM CnQ16iWHIAoRQoK0oeivjxevKfhSgvo0Hy2fHPMKxheNAzbvwP9ZLA50HvZxwU+KNErJ 3gWA== MIME-Version: 1.0 X-Received: by 10.202.216.135 with SMTP id p129mr3568219oig.133.1431614135526; Thu, 14 May 2015 07:35:35 -0700 (PDT) Received: by 10.202.71.139 with HTTP; Thu, 14 May 2015 07:35:35 -0700 (PDT) Date: Thu, 14 May 2015 07:35:35 -0700 Message-ID: From: Dave Taht To: cake@lists.bufferbloat.net, "cerowrt-devel@lists.bufferbloat.net" , bloat Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Cake] inbound policing revisited X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 May 2015 14:36:11 -0000 While fiddling with the dslreports "cable" test - (24 full rate flows downstream, oh, my!) I went back to fiddling with policing in addition to sqm. (My take on policing was that at lower rates it sucked but at higher rates it mattered less but was too hard to get the burst size right). The problem we have with inbound rate limiting and codelling it is that the bandwidth disparity between the ISP and your setting is only a few percentage points - so it remains clearly possible to build up a huge queue at the isp which slowly drains to only slowly be brought back under control by the AQM. You can see this on this spreadsheet, where I was pinging every 10ms to watch what the dslreports test did (and reported as it's statistics. I am happy that what dslreports is reporting is somewhat accurate, as cross checked this way) http://snapon.lab.bufferbloat.net/~cero3/dslreports.xlsx [1] Probably the clearest part of the dataset is the pie tab where you can see the two phases of the dslreports test. Pie does quite well on inbound, policing does better, cake and fq_codel poorly. (24 full rate inbound flows! aggh! can't clear the delay in 10 seconds). (I elided the normal cable drop tail test for those with heart problems, and we still rock on outbound.) Policing as presently defined is a brick wall filter - above the rate, after a burst, drop everything, you don't care about rtt, you just want to shoot packets, there are couple rfcs on it. It has the distinct advantages of occurring no delay or caching in the router, and also being lower cpu. And policers can be improved with some post bufferbloat ideas (see "bobbie" and the linux code is crufty and old). And it looks to be rather effective against tons of flows in slow start, when trying to "fool" the ISP's shaper. #!/bin/sh # set downlink, run sqm, then run this to wipe out the existing downlink # shaper. DOWNLINK=3D100000 IFACE=3Deth2 tc qdisc del dev ${IFACE} ingress tc qdisc add dev ${IFACE} handle ffff: ingress tc filter add dev ${IFACE} parent ffff: protocol all u32 match u32 0 0 \ police rate ${DOWNLINK}kbit burst 100k drop flowid :1 # note that the burst parameter is finicy and depends hugely on the # bandwidth and workload. [1] I had asked if I was the only one that used spreadsheets... --=20 Dave T=C3=A4ht Open Networking needs **Open Source Hardware** https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67