Here's a Summary of testing Traditional and Adaptive QOS with and without router OpenVPN client.
RT-AC56U running 380.66_6
Router OpenVPN client connected to Torguard
5Mbps upstream/40Mbps downstream VDSL2 PPPoE WAN connection
Adaptive QOS (Manual Bandwidth) without VPN:
-Full WAN speeds up and downstream reduced by manual bandwith settings as expected
-Obi200 VOIP traffic categorized as gaming
-DSL Reports Bufferbloat "C" with no matter where throughput ceilings set (80-95%)
-QOS uses eth0 for upstream traffic shaping and br0 for downstream traffic shaping
Adaptive QOS (Manual Bandwidth) combined with router OpenVPN client:
-Upstream speeds are correct for manual bandwidth setting
-Downstream speeds are limited to upstream manual bandwidth setting
-tc class show dev eth0 and bro shows correct upstream and downstream ceilings based on manual bandwidth settings
- With OpenVPN client active, QOS only uses Eth0 for both upstream and downstream traffic which
explains why downstream speeds are limited to upstream manual bandwidth setting.
-VPN traffic, both upstream and downstream, are mis-categorized and flow through the upstream "web" category
Traditional QOS both without and with router OpenVPN client:
-Net control traffic flows through "highest" category as expected.
-All additional traffic flows through "Low" category. "Lowest", "Medium" and "High" prioritizations have no effect
-Full/normal upstream and downstream speed based on upstream downstream ceilings (80-95%) as expected
-Bufferbloat "A" for all queing disciplines
Understand that adaptive QOS is closed source and probably nothing can be done about the problems.
Previously, the traditional QOS traffic mis-categorization could be fixed by removing some iptables rules, but those rules dont seem to exist anymore so that workaround no longer fixes the problem. I will try to dig further on traditional QOS in hopes of getting traffic categorization working again. Have never looked at the rules or code before so any pointers would be welcome.
BTW, the OpenVPN client, when not running QOS, works perfectly for me including DNS and selective routing.