openwrt / openwrt/mt76

Feature request: DSCP to WMM queue mapping support for MT7986 + MT7915 (mt76) – GL.iNet GL-MT6000

Open
#969 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
888
Forks
436
PR merge metrics
No merged PRs in 30d

Description

Hi,
I’d like to request support for DSCP-to-WMM queue mapping on MediaTek MT7986 and MT7915-based devices using the mt76 driver.

Device:
Router: GL.iNet GL-MT6000
Platform: MediaTek MT7986 (Filogic 830)
Wi-Fi: MT7915 (5 GHz) + integrated 2.4 GHz
OpenWrt Version: 24.10
Motivation:
The chipsets support multiple hardware TX queues (tested: 16 queues on eth1), but currently, the mt76 driver does not honor DSCP markings for queue selection.

In OpenWrt (using firewall4/nftables), we can assign DSCP classes like CS6 (games), CS1 (bulk), AF41 (system), but these do not translate into different WMM queues on Wi-Fi or Ethernet.

Why it matters:
We want to use hardware offloading (flow_offloading + flow_offloading_hw) and still benefit from QoS prioritization — without disabling offloading.

Having DSCP mapped to queues allows:

prioritizing latency-sensitive traffic (games, VoIP),
while keeping high-speed flows (e.g. downloads) at lower priority,
and preserving full throughput.
Feature Request:
Please consider:

Adding support in mt76 for mapping DSCP → WMM queue,
Optionally also exposing skb->priority or skb->mark mapping for queue selection,
Supporting both wireless and Ethernet TX path if applicable.
Bonus:
Happy to provide:

tc / ethtool / nftables configs,
logs or packet captures from OpenWrt,
testing assistance if needed.
Thanks for the awesome work on mt76!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the mt76 driver’s transmit queue-selection path and reviewing how mac80211 handles DSCP, skb priority, and WMM queues. Compare this with the issue’s nftables DSCP classes and flow_offloading_hw setup; done means a defined, tested mapping for the MT7986/MT7915 wireless path, with Ethernet scope clarified.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
networking, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.