Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F157470612
D50676.id156747.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D50676.id156747.diff
View Options
diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h
--- a/sys/compat/linuxkpi/common/include/net/cfg80211.h
+++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h
@@ -895,29 +895,7 @@
#define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT)
-/*
- * 802.11ax-2021,
- * 9.4.2.248.2 HE MAC Capabilities Information field.
- * 9.4.2.248.3 HE PHY Capabilities Information field.
- */
-struct ieee80211_he_cap_elem {
- u8 mac_cap_info[6];
- u8 phy_cap_info[11];
-} __packed;
-
-/* 802.11ax-2021, 9.4.2.248.4 Supported HE-MCS And NSS Set field. */
-struct ieee80211_he_mcs_nss_supp {
- uint16_t rx_mcs_80;
- uint16_t tx_mcs_80;
- uint16_t rx_mcs_160;
- uint16_t tx_mcs_160;
- uint16_t rx_mcs_80p80;
- uint16_t tx_mcs_80p80;
-};
-
-#define IEEE80211_HE_CAP_PPE_THRES_MAX 25
-
-/* net80211::ic_ieee80211_he_cap */
+/* net80211::net80211_he_cap */
struct ieee80211_sta_he_cap {
bool has_he;
struct ieee80211_he_cap_elem he_cap_elem;
diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h
--- a/sys/compat/linuxkpi/common/include/net/mac80211.h
+++ b/sys/compat/linuxkpi/common/include/net/mac80211.h
@@ -413,11 +413,6 @@
int civicloc_len;
};
-struct ieee80211_he_mu_edca_param_ac_rec {
- /* TODO FIXME */
- int aifsn, ecw_min_max, mu_edca_timer;
-};
-
struct ieee80211_conf {
int dynamic_ps_timeout;
int power_level;
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h
--- a/sys/net80211/ieee80211.h
+++ b/sys/net80211/ieee80211.h
@@ -28,6 +28,12 @@
#ifndef _NET80211_IEEE80211_H_
#define _NET80211_IEEE80211_H_
+#include <sys/types.h>
+
+#ifndef _KERNEL
+#include <stdbool.h>
+#endif
+
/*
* 802.11 protocol definitions.
*/
@@ -1098,6 +1104,70 @@
#define WLAN_ACTION_VHT_GROUPID_MGMT 1
#define WLAN_ACTION_VHT_OPMODE_NOTIF 2
+#if defined(_KERNEL) || defined(WANT_NET80211)
+/*
+ * HE
+ */
+
+/*
+ * 802.11ax-2021,
+ * 9.4.2.248.2 HE MAC Capabilities Information field.
+ * 9.4.2.248.3 HE PHY Capabilities Information field.
+ */
+struct ieee80211_he_cap_elem {
+ uint8_t mac_cap_info[6];
+ uint8_t phy_cap_info[11];
+} __packed;
+
+/* 802.11ax-2021, 9.4.2.248.4 Supported HE-MCS And NSS Set field. */
+struct ieee80211_he_mcs_nss_supp {
+ uint16_t rx_mcs_80;
+ uint16_t tx_mcs_80;
+ uint16_t rx_mcs_160;
+ uint16_t tx_mcs_160;
+ uint16_t rx_mcs_80p80;
+ uint16_t tx_mcs_80p80;
+} __packed;
+
+#define IEEE80211_HE_CAP_PPE_THRES_MAX 25
+
+/* XXX this should only be internal. */
+struct net80211_he_cap {
+ bool has_he;
+ struct ieee80211_he_cap_elem he_cap_elem;
+ struct ieee80211_he_mcs_nss_supp he_mcs_nss_supp;
+ uint8_t ppe_thres[IEEE80211_HE_CAP_PPE_THRES_MAX];
+};
+
+/* 802.11ax-2021, 9.4.2.249 HE Operation element. */
+struct ieee80211_he_operation {
+ uint32_t he_oper_params;
+ uint16_t he_mcs_nss_set;
+ uint8_t optional[0];
+} __packed;
+
+/* 802.11ax-2021, 9.4.2.251 MU EDCA Parameter Set element. */
+struct ieee80211_he_mu_edca_param_ac_rec {
+ uint8_t aifsn;
+ uint8_t ecw_min_max;
+ uint8_t mu_edca_timer;
+} __packed;
+
+struct ieee80211_mu_edca_param_set {
+ uint8_t mu_qos_info;
+ union {
+ struct {
+ struct ieee80211_he_mu_edca_param_ac_rec ac_be;
+ struct ieee80211_he_mu_edca_param_ac_rec ac_bk;
+ struct ieee80211_he_mu_edca_param_ac_rec ac_vi;
+ struct ieee80211_he_mu_edca_param_ac_rec ac_vo;
+ };
+ struct ieee80211_he_mu_edca_param_ac_rec param_ac_recs[4];
+ };
+} __packed;
+#endif /* _KERNEL || WANT_NET80211 */
+
+
/*
* Management information element payloads.
*
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, May 22, 7:55 PM (41 m, 3 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33429246
Default Alt Text
D50676.id156747.diff (3 KB)
Attached To
Mode
D50676: net80211: LinuxKPI: migrate HE IE structs from LinuxKPI to net80211
Attached
Detach File
Event Timeline
Log In to Comment