net_sched: sch_fq: add dctcp-like marking
Similar to 80ba92fa1a
("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
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
c73e5807e4
commit
48872c11b7
@@ -864,6 +864,8 @@ enum {
|
||||
|
||||
TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */
|
||||
|
||||
TCA_FQ_CE_THRESHOLD, /* DCTCP-like CE-marking threshold */
|
||||
|
||||
__TCA_FQ_MAX
|
||||
};
|
||||
|
||||
@@ -882,6 +884,7 @@ struct tc_fq_qd_stats {
|
||||
__u32 inactive_flows;
|
||||
__u32 throttled_flows;
|
||||
__u32 unthrottle_latency_ns;
|
||||
__u64 ce_mark; /* packets above ce_threshold */
|
||||
};
|
||||
|
||||
/* Heavy-Hitter Filter */
|
||||
|
Reference in New Issue
Block a user