Search Linux Wireless

[wireless-next v3 0/4] wifi: S1G short beacon support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patchset adds S1G short beaconing support to mac80211.

v1: https://patchwork.kernel.org/project/linux-wireless/cover/20250714051403.597090-1-lachlan.hodges@xxxxxxxxxxxxxx/
v2: https://patchwork.kernel.org/project/linux-wireless/cover/20250716053254.439698-1-lachlan.hodges@xxxxxxxxxxxxxx/

As stated in the discussion on v2, a core idea here is that short
beaconing as a feature cannot be enabled/disabled dynamically
without tearing down the interface. The same applies to the long
beacon period - which is a mandatory parameter when bringing up
the interface (and is only set during bringup) as opposed to
performing an update, which only updates the short beacon data
assuming we have an existing short beacon (i.e the BSS has been
configured to be short beaconing).

Changes Since v2:

(1) Removed the s1g_short_beaconing boolean from the BSS configuration
    as theres no need for drivers to be exposed to this and internally
    we can use the link->u.ap.s1g_short_beacon to make the same
    determination.

(2) Refactored ieee80211_set_s1g_short_beacon() to now update the
    template if an update has been made, else we do nothing. Removed
    the use of the old template entirely as this made no sense (besides
    of course freeing it if it existed).

(3) Assign link_conf->s1g_long_beacon_period without exception as for
    non-S1G BSSs this will always be 0, and for S1G BSSs will either
    be 0 or > 1.

(4) When assigning the short beacon, we now just check if we are an S1G
    interface, as an S1G interface that has / will not be configured for
    short beaconing won't have the update flag set. I think this makes
    sense and keeps the validation simpler and more inline with how the
    configuration flow functions.

(5) Removed the BSS update flag for changing the S1G short beacon as
    we always request the beacon each beacon interval, no templates
    are used nor is there support so it is redundant. This has then been
    removed from ieee80211_set_s1g_short_beacon().

(6) Minor code style cleanup when setting the vif.cfg.s1g (can be on a
    single line).

(7) When returning the SKB, we just return the targeted function rather
    then setting a locally allocated SKB. This is purely visual and
    really depends how maintainers think looks the nicest.

Thanks again for the quick review cycles and thorough feedback :)

Lachlan Hodges (4):
  wifi: cfg80211: support configuring an S1G short beaconing BSS
  wifi: mac80211: support initialising an S1G short beaconing BSS
  wifi: mac80211: support initialising current S1G short beacon index
  wifi: mac80211: support returning the S1G short beacon skb

 include/net/cfg80211.h        | 23 +++++++++
 include/net/mac80211.h        |  4 ++
 include/uapi/linux/nl80211.h  | 39 ++++++++++++++
 net/mac80211/cfg.c            | 74 +++++++++++++++++++++++++--
 net/mac80211/debugfs_netdev.c |  2 +-
 net/mac80211/ieee80211_i.h    | 15 ++++--
 net/mac80211/mesh.c           |  2 +-
 net/mac80211/tx.c             | 95 +++++++++++++++++++++++++++++++----
 net/mac80211/util.c           | 31 ++++++++++--
 net/wireless/nl80211.c        | 72 ++++++++++++++++++++++++++
 10 files changed, 335 insertions(+), 22 deletions(-)

-- 
2.43.0





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux