All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] dbus: expose per-BSS security capabilities
@ 2026-07-11 20:07 Алексей
  2026-07-14 13:27 ` James Prestwood
  0 siblings, 1 reply; 14+ messages in thread
From: Алексей @ 2026-07-11 20:07 UTC (permalink / raw)
  To: iwd

Hi,

NetworkManager cannot currently distinguish WPA2-Personal, WPA3-Personal,
and WPA2/WPA3 transition networks when using its iwd backend.

iwd has the required information internally.  scan_bss stores the WPA and
RSN information elements, and scan_bss_get_rsn_info() exposes the parsed AKM
and cipher information.  However, the stable D-Bus API reduces all of these
personal network variants to Network.Type="psk".  BasicServiceSet currently
exports only Address.

This causes a concrete integration failure.  NetworkManager maps an iwd
Network with Type="psk" to NM_802_11_AP_SEC_KEY_MGMT_PSK.  A saved NM profile
with 802-11-wireless-security.key-mgmt="sae" then fails the normal AP/profile
compatibility check and is removed from Device.AvailableConnections, even
while iwd is successfully connected to the same network using SAE.

Observed with NetworkManager 1.56.1 and iwd 3.12 on a WPA2/WPA3 transition
network:

  NM profile key-mgmt:       sae
  iwd negotiated security:  WPA3-Personal + FT
  NM AP RsnFlags:           0x188 (CCMP + PSK, no SAE)
  NM AvailableConnections:  empty

Would it be acceptable to extend net.connman.iwd.BasicServiceSet with stable
WPA/RSN security capability information?

The information needs to include at least:

  - advertised AKM suites (PSK, FT-PSK, SAE, FT-SAE, and so on)
  - pairwise and group ciphers
  - management frame protection capability and requirement

Per-BSS properties seem preferable to a Network-level value because BSSs in
the same ESS may advertise different capabilities.  A consumer such as
NetworkManager can aggregate the capabilities when presenting the iwd
Network as one logical AP while leaving BSS selection and roaming to iwd.

One possible API shape would be an extensible read-only RSN dictionary on
BasicServiceSet, similar to:

  RSN = {
      "KeyManagement": ["psk", "sae", "ft-sae"],
      "Pairwise": ["ccmp"],
      "Group": "ccmp",
      "ManagementFrameProtection": "optional"
  }

The exact representation is the main subject of this RFC.  Raw suite
selectors, separate properties, or an aggregate Network property may fit
iwd's API conventions better.

A corresponding NetworkManager change would consume these capabilities
instead of synthesizing PSK-only RsnFlags from Network.Type.  Separately, NM
should preserve an SAE-only profile policy in the generated iwd profile by
using:

  [Settings]
  TransitionDisable=true
  DisabledTransitionModes=personal

Related reports and downstream investigation:

  https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1489
  https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1693
  https://invent.kde.org/plasma/plasma-nm/-/merge_requests/571

There was prior discussion indicating that additional BasicServiceSet
properties are welcome when the data already exists in scan_bss:

  https://lore.kernel.org/iwd/97112988-3681-4192-abb2-9a9ee6d9552d@gmail.com/

If this direction is acceptable, I can follow up with the D-Bus
documentation, implementation, and tests after agreeing on the property
format.

Regards,
Aleks

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2026-07-14 22:50 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-11 20:07 [RFC] dbus: expose per-BSS security capabilities Алексей
2026-07-14 13:27 ` James Prestwood
2026-07-14 20:36   ` [PATCH 0/3] dbus: expose per-BSS RSN capabilities Алексей
2026-07-14 20:37     ` [PATCH 1/3] network: expose RSN capabilities on BSS Алексей
2026-07-14 20:38     ` [PATCH 2/3] doc: document BasicServiceSet RSN property Алексей
2026-07-14 20:39     ` [PATCH 3/3] auto-t: test " Алексей
2026-07-14 21:12   ` [PATCH v2 0/3] dbus: expose per-BSS RSN capabilities Aleksman4o
2026-07-14 21:12     ` [PATCH v2 1/3] network: expose RSN capabilities on BSS Aleksman4o
2026-07-14 21:12     ` [PATCH v2 2/3] doc: document BasicServiceSet RSN property Aleksman4o
2026-07-14 21:12     ` [PATCH v2 3/3] auto-t: test " Aleksman4o
2026-07-14 22:48     ` [PATCH v3 0/3] dbus: expose per-BSS RSN capabilities Aleksman4o
2026-07-14 22:48       ` [PATCH v3 1/3] network: expose RSN capabilities on BSS Aleksman4o
2026-07-14 22:48       ` [PATCH v3 2/3] doc: document BasicServiceSet RSN property Aleksman4o
2026-07-14 22:48       ` [PATCH v3 3/3] auto-t: test " Aleksman4o

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.