Eric Dumazet
e72aeb9ee0
fq_codel: implement L4S style ce_threshold_ect1 marking
...
Add TCA_FQ_CODEL_CE_THRESHOLD_ECT1 boolean option to select Low Latency,
Low Loss, Scalable Throughput (L4S) style marking, along with ce_threshold.
If enabled, only packets with ECT(1) can be transformed to CE
if their sojourn time is above the ce_threshold.
Note that this new option does not change rules for codel law.
In particular, if TCA_FQ_CODEL_ECN is left enabled (this is
the default when fq_codel qdisc is created), ECT(0) packets can
still get CE if codel law (as governed by limit/target) decides so.
Section 4.3.b of current draft [1] states:
b. A scheduler with per-flow queues such as FQ-CoDel or FQ-PIE can
be used for L4S. For instance within each queue of an FQ-CoDel
system, as well as a CoDel AQM, there is typically also ECN
marking at an immediate (unsmoothed) shallow threshold to support
use in data centres (see Sec.5.2.7 of [RFC8290]). This can be
modified so that the shallow threshold is solely applied to
ECT(1) packets. Then if there is a flow of non-ECN or ECT(0)
packets in the per-flow-queue, the Classic AQM (e.g. CoDel) is
applied; while if there is a flow of ECT(1) packets in the queue,
the shallower (typically sub-millisecond) threshold is applied.
Tested:
tc qd replace dev eth1 root fq_codel ce_threshold_ect1 50usec
netperf ... -t TCP_STREAM -- K dctcp
tc -s -d qd sh dev eth1
qdisc fq_codel 8022: root refcnt 32 limit 10240p flows 1024 quantum 9212 target 5ms ce_threshold_ect1 49us interval 100ms memory_limit 32Mb ecn drop_batch 64
Sent 14388596616 bytes 9543449 pkt (dropped 0, overlimits 0 requeues 152013)
backlog 0b 0p requeues 152013
maxpacket 68130 drop_overlimit 0 new_flow_count 95678 ecn_mark 0 ce_mark 7639
new_flows_len 0 old_flows_len 0
[1] L4S current draft:
https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-l4s-arch
Signed-off-by: Eric Dumazet <edumazet@google.com >
Cc: Neal Cardwell <ncardwell@google.com >
Cc: Ingemar Johansson S <ingemar.s.johansson@ericsson.com >
Cc: Tom Henderson <tomh@tomh.org >
Cc: Bob Briscoe <in@bobbriscoe.net >
Signed-off-by: David S. Miller <davem@davemloft.net >
2021-10-15 11:33:08 +01:00
..
2021-09-14 08:46:08 +02:00
2020-07-15 20:34:11 -07:00
2021-08-04 12:11:52 +02:00
2021-09-13 14:51:10 -05:00
2021-08-23 09:49:09 -07:00
2020-01-21 11:41:36 +01:00
2021-03-11 20:47:05 +00:00
2019-09-07 17:44:25 +02:00
2021-01-25 18:44:44 +01:00
2020-05-28 11:22:14 +02:00
2021-09-03 16:20:37 -07:00
2019-10-04 14:25:17 -07:00
2020-05-04 11:30:15 -05:00
2019-10-04 14:25:17 -07:00
2019-10-04 14:25:17 -07:00
2021-08-17 11:47:53 -04:00
2020-07-21 22:05:32 -07:00
2020-11-19 11:25:47 +01:00
2020-12-28 14:21:31 +00:00
2021-06-16 17:47:53 +02:00
2021-07-28 13:19:31 +01:00
2021-03-18 09:02:27 +01:00
2019-12-18 18:07:31 +01:00
2021-02-09 10:58:19 +01:00
2019-06-26 20:14:13 -04:00
2020-07-13 17:01:44 -07:00
2021-06-10 20:59:05 -04:00
2020-08-12 10:58:00 -07:00
2021-05-19 11:40:15 +02:00
2021-02-06 09:22:10 +01:00
2021-02-06 09:22:10 +01:00
2021-01-09 09:21:03 -07:00
2021-02-15 18:28:30 +01:00
2021-04-02 11:18:30 -06:00
2020-10-09 12:47:02 -06:00
2021-09-17 14:02:06 -07:00
2019-07-25 11:05:10 +02:00
2021-09-14 18:45:52 -07:00
2021-08-23 13:19:09 +02:00
2021-08-23 13:19:09 +02:00
2021-05-27 09:42:21 +02:00
2021-07-12 15:17:47 -05:00
2021-01-12 17:31:14 +01:00
2020-10-02 17:58:52 -06:00
2021-06-02 14:08:09 +02:00
2021-07-12 09:16:29 +02:00
2020-10-29 18:39:43 -07:00
2019-10-09 22:31:14 -04:00
2020-12-04 12:06:15 +01:00
2019-07-16 19:23:23 -07:00
2019-09-25 17:51:39 -07:00
2020-12-15 12:13:36 -08:00
2020-09-17 18:46:04 +02:00
2019-08-02 14:44:02 +10:00
2021-09-07 11:39:01 -07:00
2019-10-28 13:41:01 -07:00
2021-10-01 14:28:55 +01:00
2020-05-04 11:30:15 -05:00
2021-08-10 13:32:40 -04:00
2021-06-17 21:46:37 +02:00
2019-12-17 21:37:40 +05:30
2021-03-18 17:03:54 +01:00
2021-04-13 17:31:44 +01:00
2020-07-19 19:20:22 -07:00
2021-10-06 17:47:49 -07:00
2021-10-06 17:47:50 -07:00
2020-12-03 00:12:08 -08:00
2021-08-10 13:08:49 +02:00
2020-06-24 21:34:11 +02:00
2020-05-14 16:44:25 +02:00
2021-04-20 08:59:03 -06:00
2020-05-12 19:34:52 +03:00
2020-06-05 16:19:28 -07:00
2021-02-26 09:41:03 -08:00
2020-07-06 21:37:08 -07:00
2021-08-02 13:37:28 -06:00
2020-11-16 11:41:12 -08:00
2021-01-27 15:13:52 +01:00
2021-02-07 14:51:19 -08:00
2021-06-22 09:15:35 +02:00
2021-06-22 16:42:09 +02:00
2019-11-05 18:20:55 -08:00
2020-10-03 14:18:29 -07:00
2021-02-08 13:01:24 +01:00
2021-02-15 11:43:33 +01:00
2019-09-04 12:43:54 +02:00
2021-02-04 09:29:57 -08:00
2020-11-27 15:48:31 +01:00
2020-07-27 12:20:40 -07:00
2021-10-06 12:05:51 +00:00
2021-01-22 09:58:57 +01:00
2021-01-22 09:59:00 +01:00
2021-06-03 15:31:34 -07:00
2021-03-30 13:29:39 -07:00
2021-08-29 19:14:20 +05:30
2020-11-06 14:29:11 +11:00
2020-05-04 11:30:15 -05:00
2021-07-29 15:06:50 +01:00
2021-05-07 00:26:34 -07:00
2021-08-20 15:00:35 +01:00
2021-07-29 15:06:50 +01:00
2021-03-10 12:45:16 -08:00
2021-08-27 17:29:18 -07:00
2020-03-16 01:42:31 -07:00
2020-11-09 16:41:40 -08:00
2020-08-22 12:44:37 -07:00
2021-02-04 09:29:57 -08:00
2020-05-01 12:24:40 -07:00
2020-07-13 15:32:56 -07:00
2020-04-20 12:43:24 -07:00
2021-07-21 08:14:33 -07:00
2021-08-05 11:46:42 +01:00
2020-09-03 15:17:28 -07:00
2021-05-05 14:31:05 +02:00
2021-02-26 09:41:03 -08:00
2021-09-13 10:38:13 -06:00
2021-07-21 08:14:33 -07:00
2021-10-04 12:53:35 +01:00
2021-07-21 08:14:33 -07:00
2021-03-18 11:42:46 +01:00
2021-08-18 07:23:15 -06:00
2019-07-04 02:29:49 +02:00
2019-07-25 11:05:10 +02:00
2020-09-15 09:57:45 -05:00
2021-07-21 08:14:33 -07:00
2020-07-27 16:34:12 +03:00
2019-08-22 17:24:51 +02:00
2020-01-04 13:55:09 -08:00
2020-11-16 16:27:03 +01:00
2020-12-15 12:13:36 -08:00
2021-04-26 08:25:20 -07:00
2020-11-04 16:43:38 +01:00
2020-05-19 15:19:06 +01:00
2021-08-06 16:12:32 -04:00
2021-06-17 14:25:39 -04:00
2021-08-20 16:06:32 -04:00
2021-03-03 16:55:02 -08:00
2021-04-22 12:22:11 -07:00
2021-05-21 15:03:50 +02:00
2020-05-21 08:20:35 -06:00
2021-07-21 08:14:33 -07:00
2021-07-08 11:48:21 -07:00
2021-03-10 09:34:06 +01:00
2021-03-24 08:26:29 +01:00
2021-07-29 15:06:50 +01:00
2021-04-08 13:15:33 -07:00
2020-12-14 11:47:37 -08:00
2021-01-12 17:05:37 +01:00
2020-08-18 15:44:44 +02:00
2020-09-25 14:23:27 +02:00
2021-09-03 09:58:17 -07:00
2020-05-06 17:45:45 -07:00
2020-09-15 22:13:31 +10:00
2021-07-26 14:45:18 +02:00
2021-09-18 14:20:01 +01:00
2020-12-15 12:13:36 -08:00
2020-09-10 12:25:51 -07:00
2021-01-23 12:38:42 -08:00
2019-11-15 14:38:29 +01:00
2021-06-30 15:34:04 -06:00
2020-07-25 19:34:47 -06:00
2021-10-12 11:27:47 +01:00
2020-05-04 11:30:15 -05:00
2021-07-01 13:08:18 -07:00
2021-06-18 13:02:45 -07:00
2020-10-14 20:28:05 -07:00
2021-06-10 12:51:33 -07:00
2021-03-11 16:12:59 -08:00
2021-01-25 09:36:25 -05:00
2021-05-07 00:26:34 -07:00
2020-07-13 17:52:46 -04:00
2020-10-02 09:37:41 -04:00
2019-07-12 11:05:40 -07:00
2020-09-22 13:58:40 +02:00
2021-08-13 09:50:24 +02:00
2021-08-17 11:58:21 +02:00
2019-11-06 06:17:38 +09:00
2021-01-04 11:42:26 -05:00
2021-07-27 11:48:42 +01:00
2020-12-15 16:49:59 -08:00
2021-07-06 10:37:46 -05:00
2021-05-21 06:12:52 -10:00
2019-10-02 20:32:27 -06:00
2020-09-04 12:34:50 +02:00
2021-08-02 10:24:38 +01:00
2021-10-15 11:33:08 +01:00
2019-07-30 20:34:34 +02:00
2019-12-01 14:00:59 -08:00
2020-12-21 17:36:48 -08:00
2021-09-01 15:04:29 -07:00
2021-03-25 15:31:22 -07:00
2020-04-30 15:19:33 +10:00
2020-07-19 19:22:56 -07:00
2021-03-17 16:15:39 +01:00
2020-01-07 16:07:01 -05:00
2020-06-25 16:26:25 -07:00
2020-08-04 20:16:37 -07:00
2019-11-15 14:38:29 +01:00
2021-04-08 10:14:45 +02:00
2021-04-06 10:29:56 +02:00
2020-03-29 22:30:57 -07:00
2021-01-25 15:14:16 -08:00
2020-11-24 10:10:59 -06:00
2021-03-17 14:16:26 -05:00
2021-01-16 23:19:26 +01:00
2021-03-24 16:31:23 -07:00
2020-10-05 16:35:57 +01:00
2019-12-04 19:44:12 -08:00
2020-02-12 17:57:51 -05:00
2021-06-22 11:28:51 -07:00
2021-06-28 12:49:52 -07:00
2019-11-04 07:11:31 -07:00
2020-08-03 17:57:40 -07:00
2021-06-18 11:35:47 -07:00
2019-11-15 14:38:29 +01:00
2021-01-15 17:14:49 +01:00
2021-07-27 12:05:46 +02:00
2021-03-10 09:34:06 +01:00
2020-03-24 15:59:34 -07:00
2019-11-15 14:38:29 +01:00
2021-05-18 16:20:54 -05:00
2021-09-14 12:49:10 +01:00
2021-06-23 12:56:08 -07:00
2020-02-27 18:50:19 -08:00
2021-08-04 12:52:03 +01:00
2020-12-03 10:03:14 -08:00
2020-02-21 11:22:15 -08:00
2020-01-15 11:00:39 -06:00
2021-01-26 18:39:45 -08:00
2021-08-03 07:27:42 -04:00
2019-12-18 18:07:31 +01:00
2021-02-11 18:25:05 -08:00
2021-02-02 14:50:15 +01:00
2021-01-07 16:17:32 +01:00
2021-03-11 12:13:08 +01:00
2019-12-18 18:07:33 +01:00
2020-02-21 11:22:15 -08:00
2019-12-18 18:07:33 +01:00
2019-10-04 14:25:17 -07:00
2020-09-18 13:58:37 -07:00
2020-09-18 13:58:37 -07:00
2021-09-16 14:36:26 +01:00
2021-04-10 10:36:34 +02:00
2020-08-12 10:57:59 -07:00
2019-12-09 09:59:07 +01:00
2020-03-29 23:29:08 +02:00
2019-08-14 16:52:13 +02:00
2021-06-30 20:47:27 -07:00
2019-11-15 14:38:29 +01:00
2021-03-22 10:24:07 +01:00
2021-08-04 14:43:52 +02:00
2020-09-26 10:22:29 +02:00
2021-03-22 10:22:22 +01:00
2020-07-10 13:45:32 +02:00
2020-07-10 13:45:32 +02:00
2021-02-23 07:52:56 -05:00
2021-09-06 07:20:58 -04:00
2020-06-03 11:27:43 +02:00
2020-10-07 14:23:44 -06:00
2021-05-05 10:19:41 -06:00
2020-10-23 11:55:28 -04:00
2020-10-23 11:55:28 -04:00
2021-05-23 19:21:31 +02:00
2020-08-05 09:30:19 -04:00
2020-08-05 09:30:20 -04:00
2020-08-05 11:08:39 -04:00
2021-04-08 12:26:34 +02:00
2020-08-03 16:11:42 -04:00
2020-08-05 11:08:39 -04:00
2020-08-05 11:08:39 -04:00
2020-09-10 11:39:22 +02:00
2021-08-31 11:07:05 +02:00
2020-11-20 10:44:41 +01:00
2021-08-19 21:21:19 +02:00
2021-09-11 14:48:42 -07:00
2020-08-05 11:08:40 -04:00
2020-08-05 11:08:40 -04:00
2020-08-05 11:08:40 -04:00
2020-09-10 10:05:58 +02:00
2020-08-05 11:08:41 -04:00
2020-09-10 10:05:58 +02:00
2021-08-26 22:28:03 +02:00
2020-08-05 11:08:40 -04:00
2020-06-02 02:45:13 -04:00
2021-08-05 10:24:08 +01:00
2020-08-05 11:08:40 -04:00
2021-03-07 09:07:16 +01:00
2021-09-05 16:23:09 -04:00
2021-10-08 16:21:53 +01:00
2019-07-25 11:05:10 +02:00
2019-08-01 21:49:46 +02:00
2020-05-19 15:19:06 +01:00
2019-12-16 19:22:22 -08:00
2020-07-31 09:24:23 +02:00
2019-07-25 11:05:10 +02:00
2021-06-12 13:16:45 -07:00
2020-06-12 13:23:34 -04:00
2020-07-13 15:32:56 -07:00
2021-09-15 13:41:36 +02:00