--- zzzz-none-000/linux-4.1.52/include/net/cfg80211.h 2018-05-28 02:26:45.000000000 +0000 +++ bcm63-7530ax-731/linux-4.1.52/include/net/cfg80211.h 2022-03-02 11:37:13.000000000 +0000 @@ -75,12 +75,18 @@ * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band * @IEEE80211_BAND_5GHZ: around 5GHz band (4.9-5.7) * @IEEE80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz) +#ifdef CONFIG_BCM_KF_NL80211_6G_BAND_SUPPORT + * @IEEE80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.1 GHz) +#endif * @IEEE80211_NUM_BANDS: number of defined bands */ enum ieee80211_band { IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ, IEEE80211_BAND_5GHZ = NL80211_BAND_5GHZ, IEEE80211_BAND_60GHZ = NL80211_BAND_60GHZ, +#ifdef CONFIG_BCM_KF_NL80211_6G_BAND_SUPPORT + IEEE80211_BAND_6GHZ = NL80211_BAND_6GHZ, +#endif /* CONFIG_BCM_KF_NLG80211_6G_BAND_SUPPORT */ /* keep last */ IEEE80211_NUM_BANDS @@ -2179,6 +2185,34 @@ struct cfg80211_dscp_exception dscp_exception[IEEE80211_QOS_MAP_MAX_EX]; struct cfg80211_dscp_range up[8]; }; +#ifdef CONFIG_BCM_KF_CFG80211_BACKPORT +/** + * struct cfg80211_external_auth_params - Trigger External authentication. + * + * Commonly used across the external auth request and event interfaces. + * + * @action: action type / trigger for external authentication. Only significant + * for the authentication request event interface (driver to user space). + * @bssid: BSSID of the peer with which the authentication has + * to happen. Used by both the authentication request event and + * authentication response command interface. + * @ssid: SSID of the AP. Used by both the authentication request event and + * authentication response command interface. + * @key_mgmt_suite: AKM suite of the respective authentication. Used by the + * authentication request event interface. + * @status: status code, %WLAN_STATUS_SUCCESS for successful authentication, + * use %WLAN_STATUS_UNSPECIFIED_FAILURE if user space cannot give you + * the real status code for failures. Used only for the authentication + * response command interface (user space to driver). + */ +struct cfg80211_external_auth_params { + enum nl80211_external_auth_action action; + u8 bssid[ETH_ALEN] __aligned(2); + struct cfg80211_ssid ssid; + unsigned int key_mgmt_suite; + u16 status; +}; +#endif /** * struct cfg80211_ops - backend description for wireless configuration @@ -2712,6 +2746,14 @@ void (*tdls_cancel_channel_switch)(struct wiphy *wiphy, struct net_device *dev, const u8 *addr); +#ifdef CONFIG_BCM_KF_CFG80211_BACKPORT +/* + * @external_auth: indicates result of offloaded authentication processing from + * user space + */ + int (*external_auth)(struct wiphy *wiphy, struct net_device *dev, + struct cfg80211_external_auth_params *params); +#endif }; /* @@ -5210,7 +5252,18 @@ /* ethtool helper */ void cfg80211_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info); - +#ifdef CONFIG_BCM_KF_CFG80211_BACKPORT +/** + * cfg80211_external_auth_request - userspace request for authentication + * @netdev: network device + * @params: External authentication parameters + * @gfp: allocation flags + * Returns: 0 on success, < 0 on error + */ +int cfg80211_external_auth_request(struct net_device *netdev, + struct cfg80211_external_auth_params *params, + gfp_t gfp); +#endif /* Logging, debugging and troubleshooting/diagnostic helpers. */ /* wiphy_printk helpers, similar to dev_printk */