前提:硬件 798x+MTK SDK 的有线驱动,尚未研究主线 OP 主方面的支持程度。
国内 798x+MTK SDK 的组合最火的仓库就是 hanwckf 的仓库了 https://github.com/hanwckf/immortalwrt-mt798x
MTK 798x 这代的硬件加速模块 PPE 支持定期向 linux 内核的 conntrack 更新数据,解决了之前开启硬件加速后无法检测流量的问题。
按照图中命令开启功能后,基于 conntrack 的流量监控工具可以在启用硬件加速后使用
PPE 连接 64 个队列,每个队列可以设置最大速度,因而可以通过 iptables 设置特定主机的走限速队列实现硬件限速。
个人在之前的 luci-eqos 基础上修改了下脚本,用这个 luci 的壳去实现硬件限速。可以看到无论限速多少 M,CPU 都几乎没有占用
相关源码已经传至仓库 https://github.com/padavanonly/immortalwrt-mt798x 需要的可以自行编译测试。已经将 QOS 默认作为标记依据的 mark 改为了 dscp ,避免和 mwan3 冲突。