On 03/26/2019 08:07 AM, Alexei Starovoitov wrote:
> so after 20+ years linux qdisc design is wrong?
Yes it is how it is, return values can not be propagated back to the TCP stack
in all cases.
When a packet is queued to Qdisc 1, there is no way we can return
a value that can represent what the packet becomes when dequeued later and
queued into Qdisc 2.
Also some qdisc take their drop decision later (eg : codel and fq_codel), so
->enqueue() will
return a success which might be a lie.
> bpf is about choice. We have to give people tools to experiment even
> when we philosophically disagree on the design.
Maybe, but I feel that for the moment, the choice is only for FB, and rest
of the world has to re-invent private ebpf code in order to benefit from all of
this.
I doubt many TCP users will have the skills/money to benefit from this.
Meanwhile, we as a community have to maintain a TCP/IP stack with added hooks
and complexity.
It seems TCP stack became a playground for experiments.