Skip to content

DEV-7525: ath12k: 4addr configuration support - reworked#59

Closed
adrian-nicolau wants to merge 3 commits intotg-v6.12from
DEV-7525-4addr-configuration-support-in-ath12k-driver
Closed

DEV-7525: ath12k: 4addr configuration support - reworked#59
adrian-nicolau wants to merge 3 commits intotg-v6.12from
DEV-7525-4addr-configuration-support-in-ath12k-driver

Conversation

@adrian-nicolau
Copy link
Copy Markdown

@adrian-nicolau adrian-nicolau commented Oct 22, 2025

This PR reverts #50, which always enabled 4addr mode. Instead it limits it to only NL80211_IFTYPE_AP type. Then it forward-ports 34c67dc from ath11k to apply 4addr mode also on stations.

JIRA: DEV-7525

@adrian-nicolau adrian-nicolau changed the title Dev 7525 4addr configuration support in ath12k driver DEV-7525: ath12k: 4addr configuration support Oct 22, 2025
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR reverts forced 4-address mode configuration and implements proper 4addr support by forward-porting the ath11k solution. The change allows 4addr mode to be configured dynamically rather than being unconditionally enabled for all peers.

Key Changes:

  • Removes forced 4addr mode for all peers and restores mesh-only automatic configuration
  • Adds new callback sta_set_4addr to handle dynamic 4addr configuration requests
  • Introduces deferred work queue handling for 4addr peer parameter configuration

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
drivers/net/wireless/ath/ath12k/mac.c Adds sta_set_4addr callback and work queue handler; removes forced 4addr mode
drivers/net/wireless/ath/ath12k/core.h Adds set_4addr_wk work structure to ath12k_sta

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@adrian-nicolau adrian-nicolau marked this pull request as ready for review October 23, 2025 11:00
@adrian-nicolau adrian-nicolau changed the title DEV-7525: ath12k: 4addr configuration support DEV-7525: ath12k: 4addr configuration support - reworked Oct 23, 2025
@adrian-nicolau
Copy link
Copy Markdown
Author

adrian-nicolau commented Oct 23, 2025

@shmuelhazan not much better than the original solution, still need to apply 4addr early on AP - line ieee80211_vif_is_mesh(vif) || vif->type == NL80211_IFTYPE_AP.

Without this condition, the link is not established (just associated then fails at WPA handshake). Upon association .sta_set_4addr is only called on the station so the key negotiation fails.

With this condition, .sta_set_4addr is called on both sides, although redundantly on AP. Call traces fyi:

Client

[  350.635089] wlP2p1s0: RX AssocResp from 00:03:7f:12:74:74 (capab=0x11 status=0 aid=1)
[  350.798907] Call trace:
[  350.801381]  ath12k_mac_op_sta_set_4addr+0x34/0x58 [ath12k]
[  350.807049]  ieee80211_rx_mgmt_assoc_resp+0x17e8/0x1ab8
[  350.812327]  ieee80211_sta_rx_queued_mgmt+0x2f8/0xa80
[  350.817430]  ieee80211_iface_work+0x314/0x40c
[  350.821840]  cfg80211_wiphy_work+0xc4/0x130
[...]
wlP2p1s0: Associated with 00:03:7f:12:74:74
wlP2p1s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
wlP2p1s0: WPA: Key negotiation completed with 00:03:7f:12:74:74 [PTK=CCMP GTK=CCMP]
wlP2p1s0: CTRL-EVENT-CONNECTED - Connection to 00:03:7f:12:74:74 completed [id=0 id_str=]

AP

wlP2p1s0: STA 00:03:7f:12:34:34 IEEE 802.11: associated (aid 1)
wlP2p1s0: WDS-STA-INTERFACE-ADDED
[  724.402318] Call trace:
[  724.404776]  ath12k_mac_op_sta_set_4addr+0x34/0x58 [ath12k]
[  724.410387]  ieee80211_change_station+0x178/0x2dc
[  724.415115]  nl80211_set_station+0x428/0x4cc
[  724.419409]  genl_family_rcv_msg_doit.isra.0+0xb0/0x114
[  724.424662]  genl_rcv_msg+0x1b8/0x238
[  724.428344]  netlink_rcv_skb+0x54/0x12c
[  724.432198]  genl_rcv+0x34/0x48
[  724.435355]  netlink_unicast+0x1c8/0x2a4
[  724.439296]  netlink_sendmsg+0x168/0x398
[...]
wlP2p1s0: AP-STA-CONNECTED 00:03:7f:12:34:34
wlP2p1s0: STA 00:03:7f:12:34:34 RADIUS: starting accounting session F04972C5D33F4C52
wlP2p1s0: STA 00:03:7f:12:34:34 WPA: pairwise key handshake completed (RSN)
wlP2p1s0: EAPOL-4WAY-HS-COMPLETED 00:03:7f:12:34:34

@adrian-nicolau adrian-nicolau deleted the DEV-7525-4addr-configuration-support-in-ath12k-driver branch November 26, 2025 13:43
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