History

net_sched: sch_fq: add dctcp-like marking

Similar to 80ba92fa1a92 ("codel: add ce_threshold attribute") After EDT adoption, it became easier to implement DCTCP-like CE marking. In many cases, queues are not building in the network fabric but on the hosts themselves. If packets leaving fq missed their Earliest Departure Time by XXX usec, we mark them with ECN CE. This gives a feedback (after one RTT) to the sender to slow down and find better operating mode. Example : tc qd replace dev eth0 root fq ce_threshold 2.5ms

Eric Dumazet committed 8 years ago

Commit 48872c11 parent c73e5802 files · +24 −0Browse files

Showing the changes to include/uapi/linux (1 of 2 files). Show all

Unified · Split

include/uapi/linux/pkt_sched.h+3−0
@@ -864,6 +864,8 @@ enum { · 863 unmodified lines
864864
865865 TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */
866866
867+ TCA_FQ_CE_THRESHOLD, /* DCTCP-like CE-marking threshold */
868+
867869 __TCA_FQ_MAX
868870 };
869871
@@ -882,6 +884,7 @@ struct tc_fq_qd_stats { · 12 unmodified lines
882884 __u32 inactive_flows;
883885 __u32 throttled_flows;
884886 __u32 unthrottle_latency_ns;
887+ __u64 ce_mark; /* packets above ce_threshold */
885888 };
886889
887890 /* Heavy-Hitter Filter */