From: Jonathan Morton <chromatix99@gmail.com>
To: Greg White <g.white@CableLabs.com>
Cc: "Holland, Jake" <jholland@akamai.com>,
Bob Briscoe <ietf@bobbriscoe.net>,
"David P. Reed" <dpreed@deepplum.com>,
Vint Cerf <vint@google.com>, tsvwg IETF list <tsvwg@ietf.org>,
bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] [Ecn-sane] [iccrg] Fwd: [tcpPrague] Implementation and experimentation of TCP Prague/L4S hackaton at IETF104
Date: Wed, 20 Mar 2019 23:56:19 +0200 [thread overview]
Message-ID: <BB8FB053-D4C7-4616-8639-DD5008BA32D4@gmail.com> (raw)
In-Reply-To: <8F2D0BF5-C983-4CC1-BBEB-FFE264C496E8@cablelabs.com>
> On 20 Mar, 2019, at 11:48 pm, Greg White <g.white@CableLabs.com> wrote:
>
> the dual queue mechanism is not the only way to support L4S and TCP Prague. As we’ve mentioned a time or two, an fq_codel system can also support L4S and TCP Prague. I’m not aware that anyone has implemented it to test it out yet (because so far most interest has been on dual-queue), but I think the simplest version is:
>
> At dequeue:
> If packet indicates ECT(1):
> If sojourn_time > L4S_threshold:
> Set CE*, and forward packet
> Else:
> Forward packet
> Else:
> Do all the normal CoDel stuff
>
> In many cases, all of the packets in a single queue will either all be ECT(1) or none of them will. But, to handle VPNs (where a mix of ECT(1) and non-ECT(1) packets could share a queue), I would think that including the ECN field in the flow hash would keep those packets separate.
>
> *a more sophisticated approach would be to mark CE based on a ramp function between a min_thresh and max_thresh, which could be implemented as a random draw, or via a counting function
The above looks remarkably similar to our proof-of-concept for an SCE middlebox. Essentially:
At dequeue:
Do all the normal Codel stuff
If packet (still) carries ECT(0):
If sojourn_time > SCE_threshold:
Set SCE
Forward packet
And yes, a ramp function between 0 and codel_target would work better. The above gives us something to test against with minimum hassle.
- Jonathan Morton
next prev parent reply other threads:[~2019-03-20 21:56 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <AM0PR07MB48198660539171737E4CCAB1E0730@AM0PR07MB4819.eurprd07.prod.outlook.com>
[not found] ` <d91a6a71-5898-9571-2a02-0d9d83839615@bobbriscoe.net>
2019-03-15 10:46 ` [Bloat] " Dave Taht
2019-03-15 13:01 ` Sebastian Moeller
2019-03-15 14:06 ` Dave Taht
2019-03-15 15:52 ` Sebastian Moeller
2019-03-15 17:01 ` [Bloat] [Ecn-sane] " David P. Reed
2019-03-15 17:45 ` Sebastian Moeller
2019-03-15 18:36 ` Mikael Abrahamsson
2019-03-15 19:23 ` Sebastian Moeller
2019-03-15 19:32 ` Jonathan Morton
2019-03-15 19:44 ` David P. Reed
2019-03-15 20:13 ` Jonathan Morton
2019-03-15 23:43 ` David P. Reed
2019-03-16 1:26 ` Jonathan Morton
2019-03-16 7:38 ` Sebastian Moeller
2019-03-16 18:56 ` Michael Richardson
2019-03-15 20:28 ` Jonathan Foulkes
2019-03-15 20:31 ` Dave Taht
2019-03-15 23:45 ` David P. Reed
2019-03-16 9:42 ` Michael Welzl
2019-03-16 10:08 ` Sebastian Moeller
2019-03-16 10:23 ` Nils Andreas Svee
2019-03-16 14:55 ` Jonathan Foulkes
2019-03-16 21:38 ` Holland, Jake
2019-03-16 21:57 ` Vint Cerf
2019-03-16 22:03 ` Dave Taht
2019-03-16 22:05 ` Holland, Jake
2019-03-17 18:07 ` David P. Reed
2019-03-17 18:05 ` Vint Cerf
2019-03-19 1:06 ` Bob Briscoe
2019-03-19 3:18 ` Dave Taht
2019-03-20 19:04 ` Holland, Jake
2019-03-20 19:58 ` Stephen Hemminger
2019-03-20 20:05 ` Holland, Jake
[not found] ` <5C9296E1.4010703@erg.abdn.ac.uk>
2019-03-20 20:00 ` [Bloat] [tsvwg] " Holland, Jake
2019-03-20 20:05 ` Jonathan Morton
2019-03-20 20:55 ` Greg White
2019-03-20 22:12 ` Sebastian Moeller
2019-03-20 22:31 ` Jonathan Morton
2019-03-20 22:56 ` Sebastian Moeller
2019-03-20 23:03 ` Jonathan Morton
2019-03-20 23:11 ` Holland, Jake
2019-03-20 23:28 ` Jonathan Morton
2019-03-21 8:15 ` [Bloat] [Ecn-sane] [tsvwg] " Mikael Abrahamsson
2019-03-21 8:31 ` Mikael Abrahamsson
2019-03-20 23:30 ` [Bloat] [tsvwg] [Ecn-sane] " Sebastian Moeller
2019-03-21 0:15 ` Holland, Jake
2019-03-21 0:41 ` Holland, Jake
2019-03-20 21:48 ` [Bloat] " Greg White
2019-03-20 21:56 ` Jonathan Morton [this message]
2019-03-20 22:38 ` Holland, Jake
2019-03-20 22:56 ` Greg White
2019-03-20 23:29 ` Bob Briscoe
2019-03-20 23:51 ` Jonathan Morton
2019-03-21 6:04 ` Bob Briscoe
2019-03-21 7:46 ` Jonathan Morton
2019-03-21 8:02 ` Bob Briscoe
2019-03-21 8:49 ` Bless, Roland (TM)
2019-03-21 13:24 ` Bob Briscoe
2019-03-22 12:53 ` Bless, Roland (TM)
2019-03-25 2:47 ` Bob Briscoe
2019-03-21 8:45 ` Sebastian Moeller
2019-03-24 20:15 ` alex.burr
2019-03-25 1:34 ` Bob Briscoe
2019-03-27 17:52 ` Alex Burr
2019-03-19 4:44 ` Greg White
2019-03-19 5:35 ` Jonathan Morton
2019-03-19 5:52 ` Greg White
2019-03-19 7:10 ` Jonathan Morton
2019-03-19 8:07 ` Sebastian Moeller
2019-03-19 8:50 ` Sebastian Moeller
2019-03-19 23:59 ` Dave Taht
2019-03-20 10:17 ` Sebastian Moeller
2019-03-16 22:03 ` Jonathan Morton
2019-03-16 22:09 ` Sebastian Moeller
2019-03-17 14:06 ` Mikael Abrahamsson
2019-03-17 17:37 ` Loganaden Velvindron
2019-03-17 17:40 ` Toke Høiland-Jørgensen
2019-03-17 17:44 ` Mikael Abrahamsson
2019-03-17 18:00 ` Dave Taht
2019-03-17 19:38 ` Rodney W. Grimes
2019-03-17 20:50 ` Luca Muscariello
2019-03-17 21:51 ` Toke Høiland-Jørgensen
2019-03-18 4:26 ` Mikael Abrahamsson
2019-03-16 4:04 ` Jonathan Morton
2019-03-16 4:51 ` Dave Taht
2019-03-15 18:07 ` Mikael Abrahamsson
2019-03-15 14:27 ` [Bloat] " Jonathan Morton
2019-03-15 14:44 ` Sebastian Moeller
2019-03-15 15:49 ` Jonathan Morton
2019-03-15 21:34 ` Wesley Eddy
2019-03-22 18:28 [Bloat] [Ecn-sane] " Victor Hou
2019-03-23 8:02 ` Roland Bless
2019-03-23 8:54 ` Luca Muscariello
2019-03-23 10:02 ` Mikael Abrahamsson
2019-03-23 15:03 ` Jonathan Morton
2019-03-23 19:52 ` Roland Bless
2019-03-23 15:19 ` Roland Bless
2019-03-23 17:16 ` Mikael Abrahamsson
2019-03-23 19:45 ` Roland Bless
2019-03-23 17:48 ` Michael Welzl
2019-03-23 18:31 ` Luca Muscariello
2019-03-23 18:40 ` Mikael Abrahamsson
2019-03-23 19:11 ` Michael Welzl
2019-03-23 21:04 ` Luca Muscariello
2019-03-23 19:55 ` Roland Bless
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/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BB8FB053-D4C7-4616-8639-DD5008BA32D4@gmail.com \
--to=chromatix99@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=dpreed@deepplum.com \
--cc=g.white@CableLabs.com \
--cc=ietf@bobbriscoe.net \
--cc=jholland@akamai.com \
--cc=tsvwg@ietf.org \
--cc=vint@google.com \
/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