-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
if (!drop_early(sch, sel_flow, skb->len)) {
enqueue = true;
} else if (q->params.ecn && (sel_flow->vars.prob <= MAX_PROB / 10) &&
INET_ECN_set_ce(skb)) {
Although this ecn behavior "drop at 10%" for pie is what ended up in the standard... it was entirely a handwave!!!!!, It is not backed by any hard data whatsoever, and doesn't work well in practice! I was there... when we wrote the code we felt we needed some ecn support.I figured someone from the ecn crowd would leap all over it. They didn't.
Rather than replicate this mistake...
I'd really like to see this made configurable in the range 0-100. You can leverage the existing ecn variable to do this... you just need to express ecn_prob as an int. to userspace. e.g:
else if ((sel_flow->vars.prob <= q->params.ecn) &&
INET_ECN_set_ce(skb)) {
Metadata
Metadata
Assignees
Labels
No labels