Skip to content

VER-1244: wifi: ath12k: fix unknown unicast TX on 4-address links with eth offload - #97

Merged
adrian-nicolau merged 3 commits into
tg-v6.18-ath12k-nextfrom
VER-1244-FR2-Unknown-Unicast-Traffic-Not-Delivered-Over-Modem-to-Modem-Link
Aug 4, 2026
Merged

VER-1244: wifi: ath12k: fix unknown unicast TX on 4-address links with eth offload#97
adrian-nicolau merged 3 commits into
tg-v6.18-ath12k-nextfrom
VER-1244-FR2-Unknown-Unicast-Traffic-Not-Delivered-Over-Modem-to-Modem-Link

Conversation

@adrian-nicolau

@adrian-nicolau adrian-nicolau commented Jul 30, 2026

Copy link
Copy Markdown

Setting IEEE80211_OFFLOAD_ENCAP_4ADDR moved 4-address interfaces from
mac80211's software encapsulation path (ieee80211_dataif_ops) to the
802.3 TX offload path (ieee80211_dataif_8023_ops), see
ieee80211_set_vif_encap_ops(). Frames now reach the driver as ethernet
and the hardware has to resolve the destination address itself.

Only multicast was given an explicit address search override, so unicast
still relies on the hardware finding the ethernet DA in the AST. That
works for the station's own address, but misses for any address learned
behind a 4-address station, so all unknown unicast traffic is lost after
the frame has already been accounted as transmitted.

Use the peer's AST entry and set the descriptor lookup override for
unicast too. arsta is only populated for 4-address peers, so ordinary
3-address stations keep using the vdev level metadata and the address
search.

Fixes: 729cad3 ("wifi: ath12k: Add 4-address mode support for eth offload")

adrian-nicolau and others added 3 commits July 30, 2026 11:52
Setting IEEE80211_OFFLOAD_ENCAP_4ADDR moved 4-address interfaces from
mac80211's software encapsulation path (ieee80211_dataif_ops) to the
802.3 TX offload path (ieee80211_dataif_8023_ops), see
ieee80211_set_vif_encap_ops(). Frames now reach the driver as ethernet
and the hardware has to resolve the destination address itself.

Only multicast was given an explicit address search override, so unicast
still relies on the hardware finding the ethernet DA in the AST. That
works for the station's own address, but misses for any address learned
behind a 4-address station, so all unknown unicast traffic is lost after
the frame has already been accounted as transmitted.

Use the peer's AST entry and set the descriptor lookup override for
unicast too. arsta is only populated for 4-address peers, so ordinary
3-address stations keep using the vdev level metadata and the address
search.

Fixes: 729cad3 ("wifi: ath12k: Add 4-address mode support for eth offload")
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The commit adding eth offload support for 4-address mode introduced a
WMI_VDEV_PARAM_AP_ENABLE_NAWDS setup block, but reused the pre-existing
early goto for it by retargeting "goto skip_use_4addr" to the new
"skip_nawds" label at the end of the loop body. That silently widened the
scope of the branch: it previously skipped only the USE_4ADDR peer param,
and now skips the NAWDS setup as well.

arvif->set_wds_vdev_param is set only for a station interface with
use_4addr, so NAWDS is never enabled on precisely the vdev it is meant
for, while an AP interface still gets it.

Keep the branch limited to the peer param so the NAWDS setup is reached
in both cases. The remaining goto still skips it for non-ethernet
encapsulation, as intended.

Fixes: 729cad3 ("wifi: ath12k: Add 4-address mode support for eth offload")
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@adrian-nicolau adrian-nicolau changed the title Ver 1244 fr2 unknown unicast traffic not delivered over modem to modem link VER-1244: wifi: ath12k: fix unknown unicast TX on 4-address links with eth offload Aug 4, 2026
@adrian-nicolau
adrian-nicolau merged commit e36246d into tg-v6.18-ath12k-next Aug 4, 2026
1 check passed
@adrian-nicolau
adrian-nicolau deleted the VER-1244-FR2-Unknown-Unicast-Traffic-Not-Delivered-Over-Modem-to-Modem-Link branch August 4, 2026 08:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants