History

cfg80211: add channel switch started notification

Add a new NL80211_CH_SWITCH_STARTED_NOTIFY message that can be sent to the userspace when a channel switch process has started. This allows userspace to take action, for instance, by requesting other interfaces to switch channel as necessary. This patch introduces a function that allows the drivers to send this notification. It should be used when the driver starts processing a channel switch initiated by a remote device (eg. when a STA receives a CSA from the AP) and when it successfully starts a userspace-triggered channel switch (eg. when hostapd triggers a channel swith in the AP).

Luciano Coelho committed 12 years ago

Commit f8d75521 parent 127f10e4 files · +66 −3Browse files

Showing the changes to include/uapi/linux (1 of 4 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+11−0
@@ -645,6 +645,15 @@ · 644 unmodified lines
645645 * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the
646646 * attributes determining channel width.
647647 *
648+ * @NL80211_CMD_CH_SWITCH_STARTED_NOTIFY: Notify that a channel switch
649+ * has been started on an interface, regardless of the initiator
650+ * (ie. whether it was requested from a remote device or
651+ * initiated on our own). It indicates that
652+ * %NL80211_ATTR_IFINDEX will be on %NL80211_ATTR_WIPHY_FREQ
653+ * after %NL80211_ATTR_CH_SWITCH_COUNT TBTT's. The userspace may
654+ * decide to react to this indication by requesting other
655+ * interfaces to change channel as well.
656+ *
648657 * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by
649658 * its %NL80211_ATTR_WDEV identifier. It must have been created with
650659 * %NL80211_CMD_NEW_INTERFACE previously. After it has been started, the
@@ -930,6 +939,8 @@ enum nl80211_commands { · 279 unmodified lines
930939 NL80211_CMD_JOIN_OCB,
931940 NL80211_CMD_LEAVE_OCB,
932941
942+ NL80211_CMD_CH_SWITCH_STARTED_NOTIFY,
943+
933944 /* add new commands above here */
934945
935946 /* used to define NL80211_CMD_MAX below */