From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-x233.google.com (mail-qt0-x233.google.com [IPv6:2607:f8b0:400d:c0d::233]) (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 A1CFF3BA8E; Tue, 28 Aug 2018 12:46:02 -0400 (EDT) Received: by mail-qt0-x233.google.com with SMTP id t39-v6so2448424qtc.8; Tue, 28 Aug 2018 09:46:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=LFQkIrk/RcMKzfp/WSXd5NCXiU/688fPfbay2PQ+BJs=; b=phWZnheNimAsP4Jt2YZu50zupdMycLsKUaTOnp3egTLkm0SBvyhkZBbi4nfhj5W7CY Ri3g2J4IeRoOU6+P9CB6d1oR92Kc0/7QKG2xw6hdZLrKT+eKvoUuiwdKnJIFm+5A6BRM I5FkNbMo4JxypXca712m8nQP1Fygbs/UXEe33WHyVhlFeaAj3TDCH9kj0UwjndKSuukE eBhOQpUVI8OdjdnkWf2eYE3XwkOF1gJB8ekwNkGcwSCxEMcgH2J7AS2jVikSgqplMUFI Gj4WsnLaJxL6nNlzi8OuOelKPwKYDS1WSo3U02vdMErIoCA4IOHOC0dub04RJhTYNrE0 udPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=LFQkIrk/RcMKzfp/WSXd5NCXiU/688fPfbay2PQ+BJs=; b=JhUlxNmRqM78An11I4C2xwlpUvsL3fAMwEk77N+NK98SfuSbKyAG3fDlQjjFmYdkTS 0GPfCqXvwP18l6w0bgCACaSXuHOzd9yNSehmu0xOfitnwMD3VTyyYw/Zm7VNrQ1Xu6K+ gySZJnsXbv8gISKjs/oAVC40279Iy07+XPtDBvGjV7f1+wSZk4/t6pvQXdMddSpVqOnb yE5BNKdi5dg2m11R9K81Efv17bjxDemsoOru004Az0S6UdvHMtmthzdLckhJYywit88n zqemcfI4XDyzyfDYS80uBW10X3p8KdLz5V8r5eeGMATC8Plzpl6aNrSF63f8CEMVaN9m vy6A== X-Gm-Message-State: APzg51C3B8TxV1mnclr6wn0ZXWz4FFnRxDtoQXvo3KMiFswfWMoyO95q FXI/IqZ7q0L0x3cWF8uw1rKYFH6fp0MilCOLN3NDmEdx X-Google-Smtp-Source: ANB0VdaV0lQddxpnN1Rmk11sP0xFlLZi6IiyWrDwfUQIMB0TNnIcb2xVhkAFhybDEXzvyAdnH6J7WJhQsmxxmqO3eEk= X-Received: by 2002:a0c:8563:: with SMTP id n90-v6mr2431025qva.93.1535474761597; Tue, 28 Aug 2018 09:46:01 -0700 (PDT) MIME-Version: 1.0 From: Dave Taht Date: Tue, 28 Aug 2018 09:45:43 -0700 Message-ID: To: Make-Wifi-fast , cerowrt-devel@lists.bufferbloat.net Content-Type: multipart/mixed; boundary="000000000000ba2e320574819384" Subject: [Cerowrt-devel] babeld patch enabling ecn 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: , X-List-Received-Date: Tue, 28 Aug 2018 16:46:02 -0000 --000000000000ba2e320574819384 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable In cleaning up the lab and some long out of tree patches, I guess I should make a push for the the following patch to be more thoroughly tested in openwrt. For review here first before running that gauntlet.... [PATCH] Disable CS6 and enable ECN in Babeld This one line patch disables CS6 marking and enables ECN in babeld. ECN decouples "packet loss from congestion" from "loss due to bad connectiv= ity". It also moves unicast babel packets into the best effort queue. The good: * OpenWrt is fully fq_codeled and doesn't pay much attention to diffserv * ECN'd Routes stay up even under extreme congestion * ECN'd Packet loss returns to a measure of connectivity only * Killing CS6 saves bandwidth - The 802.11n VO queue (where CS6 falls normally) cannot aggregate. I would support a default qos-map for Openwrt 802.11n devices essentially disabling the VO queue, as better aggregation works so much better, (In fact I'd disable VI and BK universally also), post fq_codel for wifi on ath*, and poorly in general on all devices - and then keep CS6 + ECN. The bad: * Babel does not do anything to reduce its rate on receipt of CE or modify its metrics Given a choice between losing core connectivity under congestion or not... * a babeld instance using ECN over a fq_codel'd link will always be more reachable than a non-ecn'd one you can argue that a fq_codel'd link is generically faster than one that is= not. * CS6 does help somewhat on ethernet switches but it's largely been immeasu= rable * Lacking an effective response to ECN large babel networks can fill it's F= Q'd queue with undroppable packets. This problem is generic, actually, ECN or= no, as the multicast queue is infinite and not fq_codeled. babel protocol packets however are light, a single flow, and babel floodi= ng will be unnoticible except to itself, and if it gets truly out of hand the bulk dropper should kick in. * Babeld should also independently schedule hellos from route announcements and manage the route announcement queue better After 5 years in my deployment of babel + fq_codel running this patch IMHO this is the best of multiple bad alternatives, and dramatically improves network reliability. It is the rough equivalent of adding a minimal "control plane" for critical packets. --=20 Dave T=C3=A4ht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619 --000000000000ba2e320574819384 Content-Type: application/octet-stream; name="0001-Disable-CS6-and-enable-ECN-in-Babeld.patch" Content-Disposition: attachment; filename="0001-Disable-CS6-and-enable-ECN-in-Babeld.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jldxxa050 RnJvbSA0YWM2MWY3NGZjMGYyZWNjNDliNTMwNDAzOGUzMDc3YWFlOGY3YjA0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZlIFRhaHQgPGRhdmVAdGFodC5uZXQ+CkRhdGU6IFR1ZSwg MjggQXVnIDIwMTggMDk6Mzg6MjYgLTA3MDAKU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIENTNiBh bmQgZW5hYmxlIEVDTiBpbiBCYWJlbGQKClRoaXMgb25lIGxpbmUgcGF0Y2ggZGlzYWJsZXMgQ1M2 IG1hcmtpbmcgYW5kIGVuYWJsZXMgRUNOIGluIGJhYmVsZC4KCkVDTiBkZWNvdXBsZXMgInBhY2tl dCBsb3NzIGZyb20gY29uZ2VzdGlvbiIgZnJvbSAibG9zcyBkdWUgdG8gYmFkIGNvbm5lY3Rpdml0 eSIuCgpJdCBhbHNvIG1vdmVzIHVuaWNhc3QgYmFiZWwgcGFja2V0cyBpbnRvIHRoZSBiZXN0IGVm Zm9ydCBxdWV1ZS4KClRoZSBnb29kOgoKKiBPcGVuV3J0IGlzIGZ1bGx5IGZxX2NvZGVsZWQgYW5k IGRvZXNuJ3QgcGF5IG11Y2ggYXR0ZW50aW9uIHRvIGRpZmZzZXJ2CiogRUNOJ2QgUm91dGVzIHN0 YXkgdXAgZXZlbiB1bmRlciBleHRyZW1lIGNvbmdlc3Rpb24KKiBFQ04nZCBQYWNrZXQgbG9zcyBy ZXR1cm5zIHRvIGEgbWVhc3VyZSBvZiBjb25uZWN0aXZpdHkgb25seQoqIEtpbGxpbmcgQ1M2IHNh dmVzIGJhbmR3aWR0aCAtIFRoZSA4MDIuMTFuIFZPIHF1ZXVlICh3aGVyZSBDUzYgZmFsbHMgbm9y bWFsbHkpCiAgY2Fubm90IGFnZ3JlZ2F0ZS4KCkkgd291bGQgc3VwcG9ydCBhIGRlZmF1bHQgcW9z LW1hcCBmb3IgT3BlbndydCA4MDIuMTFuIGRldmljZXMgZXNzZW50aWFsbHkKZGlzYWJsaW5nIHRo ZSBWTyBxdWV1ZSwgYXMgYmV0dGVyIGFnZ3JlZ2F0aW9uIHdvcmtzIHNvIG11Y2ggYmV0dGVyLAoo SW4gZmFjdCBJJ2QgZGlzYWJsZSBWSSBhbmQgQksgdW5pdmVyc2FsbHkgYWxzbyksCnBvc3QgZnFf Y29kZWwgZm9yIHdpZmkgb24gYXRoKiwgYW5kIHBvb3JseSBpbiBnZW5lcmFsIG9uIGFsbCBkZXZp Y2VzIC0KICBhbmQgdGhlbiBrZWVwIENTNiArIEVDTi4KClRoZSBiYWQ6CgoqIEJhYmVsIGRvZXMg bm90IGRvIGFueXRoaW5nIHRvIHJlZHVjZSBpdHMgcmF0ZSBvbiByZWNlaXB0IG9mIENFCiAgb3Ig bW9kaWZ5IGl0cyBtZXRyaWNzCgpHaXZlbiBhIGNob2ljZSBiZXR3ZWVuIGxvc2luZyBjb3JlIGNv bm5lY3Rpdml0eSB1bmRlciBjb25nZXN0aW9uIG9yIG5vdC4uLgoKKiBhIGJhYmVsZCBpbnN0YW5j ZSB1c2luZyBFQ04gb3ZlciBhIGZxX2NvZGVsJ2QgbGluayB3aWxsIGFsd2F5cyBiZQogIG1vcmUg cmVhY2hhYmxlIHRoYW4gYSBub24tZWNuJ2Qgb25lCnlvdSBjYW4gYXJndWUgdGhhdCBhIGZxX2Nv ZGVsJ2QgbGluayBpcyBnZW5lcmljYWxseSBmYXN0ZXIgdGhhbiBvbmUgdGhhdCBpcyBub3QuCiog Q1M2IGRvZXMgaGVscCBzb21ld2hhdCBvbiBldGhlcm5ldCBzd2l0Y2hlcyBidXQgaXQncyBsYXJn ZWx5IGJlZW4gaW1tZWFzdXJhYmxlCiogTGFja2luZyBhbiBlZmZlY3RpdmUgcmVzcG9uc2UgdG8g RUNOIGxhcmdlIGJhYmVsIG5ldHdvcmtzIGNhbiBmaWxsIGl0J3MgRlEnZAogIHF1ZXVlIHdpdGgg dW5kcm9wcGFibGUgcGFja2V0cy4gVGhpcyBwcm9ibGVtIGlzIGdlbmVyaWMsIGFjdHVhbGx5LCBF Q04gb3Igbm8sCiAgYXMgdGhlIG11bHRpY2FzdCBxdWV1ZSBpcyBpbmZpbml0ZSBhbmQgbm90IGZx X2NvZGVsZWQuCiAgYmFiZWwgcHJvdG9jb2wgcGFja2V0cyBob3dldmVyIGFyZSBsaWdodCwgYSBz aW5nbGUgZmxvdywgYW5kIGJhYmVsIGZsb29kaW5nCiAgd2lsbCBiZSB1bm5vdGljaWJsZSBleGNl cHQgdG8gaXRzZWxmLCBhbmQgaWYgaXQgZ2V0cyB0cnVseSBvdXQgb2YgaGFuZAogIHRoZSBidWxr IGRyb3BwZXIgc2hvdWxkIGtpY2sgaW4uCiogQmFiZWxkIHNob3VsZCBhbHNvIGluZGVwZW5kZW50 bHkgc2NoZWR1bGUgaGVsbG9zIGZyb20gcm91dGUgYW5ub3VuY2VtZW50cwogIGFuZCBtYW5hZ2Ug dGhlIHJvdXRlIGFubm91bmNlbWVudCBxdWV1ZSBiZXR0ZXIKCkFmdGVyIDUgeWVhcnMgaW4gbXkg ZGVwbG95bWVudCBvZiBiYWJlbCArIGZxX2NvZGVsIHJ1bm5pbmcgdGhpcyBwYXRjaCBJTUhPCnRo aXMgaXMgdGhlIGJlc3Qgb2YgbXVsdGlwbGUgYmFkIGFsdGVybmF0aXZlcywgYW5kIGRyYW1hdGlj YWxseSBpbXByb3ZlcwpuZXR3b3JrIHJlbGlhYmlsaXR5LgoKSXQgaXMgdGhlIHJvdWdoIGVxdWl2 YWxlbnQgb2YgYWRkaW5nIGEgbWluaW1hbCAiY29udHJvbCBwbGFuZSIgZm9yIGNyaXRpY2FsIHBh Y2tldHMuCgpPdGhlcndpc2UgY29uZ2VzdGVkIHJvdXRlcnMgY2FuIChhbmQgZG8pICJmYWxsIG9m ZiB0aGUgbmV0IiB3aGVuIHRoZXkgc2hvdWxkbid0LgoKT3RoZXIgcm91dGluZyBwcm90b2NvbCBz dGFja3MgKE9TUEYsIEJBVE1BTiwgQk1YLCBJU0lTKSBzaG91bGQgbG9vayBkZWVwbHkKaW50byB0 aGUgYmVuZWZpdHMgYW5kIHBpdGZhbGxzIG9mIEVDTi4KCldlJ3ZlIGxvbmcgYmVlbiBleHBsb3Jp bmcgYWx0ZXJuYXRpdmVzIGluIGJhYmVsIChSVFQgbWV0cmljcywgdW5pY2FzdCBoZWxsb3MsIGV0 YykKYnV0IG5vbmUgaGF2ZSBhcnJpdmVkIHlldC4gVGhlcmUgYXJlIGFsc28gc29tZSBzdGF0aXN0 aWNhbGx5IHNvdW5kCm1lYW5zIG9mIHJhbmRvbWl6aW5nIGFuZCBpbnRlcmxlYXZpbmcgcm91dGUg YW5ub3VuY2VtZW50cyB0byBnZXQgcGFzdCBjb25nZXN0aXZlCmRyb3BzIHRoYXQgY291bGQgYmUg dXNlZC4uLgoKLi4uIGJ1dCB0aGlzIHdvcmtzICJnb29kIGVub3VnaCIsIGZvciBub3cuCgpTdWJt aXR0ZWQgYWZ0ZXIgYSByYXBpZGx5IGFib3J0ZWQgYXR0ZW1wdCBhdCBkZXBsb3lpbmcgdmFuaWxs YSBvcGVud3J0IDE4LjA2Cm9uIG15IHByb2R1Y3Rpb24gMjgwKyByb3V0ZSBuZXR3b3JrLgotLS0K IG5ldC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvbmV0LmMgYi9uZXQuYwppbmRleCAxZTU4OTBkLi44OGJiYWIzIDEw MDY0NAotLS0gYS9uZXQuYworKysgYi9uZXQuYwpAQCAtNDYsNyArNDYsNyBAQCBiYWJlbF9zb2Nr ZXQoaW50IHBvcnQpCiAgICAgaW50IHMsIHJjOwogICAgIGludCBzYXZlZF9lcnJubzsKICAgICBp bnQgb25lID0gMSwgemVybyA9IDA7Ci0gICAgY29uc3QgaW50IGRzID0gMHhjMDsgICAgICAgIC8q IENTNiAtIE5ldHdvcmsgQ29udHJvbCAqLworICAgIGNvbnN0IGludCBkcyA9IDB4MDI7ICAgICAg ICAvKiBFQ1QgLSBFbmFibGUgRUNOICovCiAKICAgICBzID0gc29ja2V0KFBGX0lORVQ2LCBTT0NL X0RHUkFNLCAwKTsKICAgICBpZihzIDwgMCkKLS0gCjIuMTUuMSAoQXBwbGUgR2l0LTEwMSkKCg== --000000000000ba2e320574819384--