Discussion of explicit congestion notification's impact on the Internet
 help / color / mirror / Atom feed
From: "Jan Rüth" <Jan.Rueth@comsys.rwth-aachen.de>
To: Dave Taht <dave.taht@gmail.com>
Cc: ECN-Sane <ecn-sane@lists.bufferbloat.net>,
	bloat <bloat@lists.bufferbloat.net>,
	Make-Wifi-fast <make-wifi-fast@lists.bufferbloat.net>,
	cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>,
	Cake List <cake@lists.bufferbloat.net>,
	tsvwg IETF list <tsvwg@ietf.org>
Subject: Re: [Ecn-sane] how to ecn again on osx and ios!!!
Date: Tue, 30 Mar 2021 09:38:42 +0000	[thread overview]
Message-ID: <DC3E8475-29E5-47C8-A478-2A9BD81BEB93@comsys.rwth-aachen.de> (raw)
In-Reply-To: <CAA93jw7wDiE4R+y2JV85wAZqcDpFtSetx47bmFQcr-8XAtCSpg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2031 bytes --]

Hi,

I wrote a small dtrace script to track ECN connections on MacOS.

It basically dumps the ecn_flags from the MacOS kernel to find out if ECN was successfully negotiated or not.
It further counts ECN bits on incoming packets.

For anyone interested (feel free to share), the code is here:

https://github.com/janrueth/macos-passive-ecn-sniffer

During testing I also observed a weird behavior (connections fail) between MacOS and Linux when ECN flags cause packet drops on the downlink (reverse) path.
There is also a more detailed description and a packet trace of this happening in the github repository.

If you have any comments, feel free to contact me.


Best
 Jan

On 9. Mar 2021, at 21:38, Dave Taht <dave.taht@gmail.com<mailto:dave.taht@gmail.com>> wrote:

The additional sysctl required to re-enable ecn negotiation always is

sudo sysctl -w net.inet.tcp.disable_tcp_heuristics=1

See also:
https://github.com/apple-opensource/xnu/blob/master/bsd/netinet/tcp_cache.c#L164

It disables mptcp and tfo, which for purposes of even basic worldwide
testing of the survival of the ect(0) and ect(1) codepoints, don't
really matter. I am delirious with joy to be able to test this stuff
again from devices more people have, and I hope y'all turn it on for a
while, on ethernet/wifi and lte, get a bunch of captures and see what
happens in day to day use. I would so love packet captures from many
many vantage points against the worldwide flent testing network.

Those of you that have root access on your iphones can also test ecn
in this way.

A huge thanks to Christoph Paasch over at apple for pointing this out.

--
"For a successful technology, reality must take precedence over public
relations, for Mother Nature cannot be fooled" - Richard Feynman

dave@taht.net <Dave Täht> CTO, TekLibre, LLC Tel: 1-831-435-0729
_______________________________________________
Ecn-sane mailing list
Ecn-sane@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/ecn-sane


[-- Attachment #2: Type: text/html, Size: 4615 bytes --]

      parent reply	other threads:[~2021-03-30  9:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-09 20:38 Dave Taht
2021-03-09 21:24 ` [Ecn-sane] [Bloat] " Jonathan Morton
2021-03-30  9:38 ` Jan Rüth [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/ecn-sane.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DC3E8475-29E5-47C8-A478-2A9BD81BEB93@comsys.rwth-aachen.de \
    --to=jan.rueth@comsys.rwth-aachen.de \
    --cc=bloat@lists.bufferbloat.net \
    --cc=cake@lists.bufferbloat.net \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    --cc=ecn-sane@lists.bufferbloat.net \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    --cc=tsvwg@ietf.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox