Sorry, I have to disagree with much of what you've said.
Bufferbloat is actually a good thing for the vast majority people. When your connection gets to 100% utilization the ISP will hold a small amount of excess data in its memory buffers.
Bufferbloat is never a good thing. If we knew ISPs held only a small amount of data, it could theoretically help, but in practice ISPs often hold hundreds (or thousands) of msec of packets, creating huge bufferbloat.
The other option is to discard the traffic. For most application if the data is discarded it must be resent. This causes slower performance for most things.
This is a long-standing misapprehension. Every packet is
not sacred. In fact, TCP
relies on packet loss for its congestion avoidance scheme. Modern Smart Queue Management (SQM) algorithms such as fq_codel and cake (and PIE, in cable modems) control the depth of queues for every flow passing through a router. They basically keep one packet in the queue for every flow (dropping the extra's): sparse flows (gaming, VoIP, DNS lookups, etc) go right through, while bulk flows (file transfers, uploads and downloads) get throttled to give each one a fair share of the remaining bandwidth.
The only people that care about bufferbloat are online gamers. Games would rather the data be discarded than delayed unlike just about any other application.
Again, experience shows that everyone cares. I frequently help neighbors who complain, "My network at home works great until my wife comes home and her phone starts to upload photos..." When that upload starts, we measure 2,000 msec (TWO seconds) of latency. We installed a router with SQM (IQrouter) and it went away.
Still none of this really matters. First you will never get bufferbloat unless you use 100% of you link.
Yes, but... As I noted earlier, "normal" web browsing frequently maxes out your link while 2 megabytes of data get transferred. During that (admittedly short) time, the link is at 100%. That can induce plenty of lag to miss a shot.
Next there is really nothing you can do the buffers are in the ISP network not yours so you can't change it.
Modern routers (with SQM) actually can do this. (It's a clever hack, and took me a while to figure it out how it could work - but it does.) SQM routers introduce a small bottleneck (a few percent slower than the ISP's download rate)
after the ISP link and before the packets "enter the router". Since that's the "slowest" part, SQM can control the length of
that queue, eliminating the download bufferbloat.
re: 350mbps connection & OpenWrt
Yes, but - OP reports bufferbloat, and has asked us for advice. My advice would be to find a router that has SQM, since it directly addresses the problem of latency/lag. OP can continue to use the current router (and perhaps accept only 200 or 250mbps rates), or purchase a higher performance router (Edgerouter?) that actually can go full-rate.
I'm happy to continue this conversation. Thanks for listening.