git: d296b65d8992 - main - LinuxKPI: 802.11 updates
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 20 May 2022 01:12:39 UTC
The branch main has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=d296b65d899249da24a8b277554df4af93357b36
commit d296b65d899249da24a8b277554df4af93357b36
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-05-18 22:39:57 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-05-20 01:11:22 +0000
LinuxKPI: 802.11 updates
Add more values to the ieee80211_min_mpdu_start_spacing enum with
two missing given we do not know how they are called. Also update
the reference while here.
Add struct ieee80211_hdr_3addr and correct the comment on the
ieee80211_hdr to match the one in net80211 to avoid future confusion.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
---
sys/compat/linuxkpi/common/include/linux/ieee80211.h | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h
index e0aa558fe273..c131a6c69495 100644
--- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h
+++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h
@@ -130,9 +130,15 @@ enum wlan_ht_cap_sm_ps {
#define WLAN_KEY_LEN_CCMP 16
#define WLAN_KEY_LEN_GCMP_256 32
-/* 9.4.2.56.3, Table 9-163 Subfields of the A-MPDU Parameters field */
+/* 802.11-2020, 9.4.2.55.3, Table 9-185 Subfields of the A-MPDU Parameters field */
enum ieee80211_min_mpdu_start_spacing {
IEEE80211_HT_MPDU_DENSITY_NONE = 0,
+#if 0
+ IEEE80211_HT_MPDU_DENSITY_XXX = 1, /* 1/4 us */
+ IEEE80211_HT_MPDU_DENSITY_YYY = 2, /* 1/2 us */
+#endif
+ IEEE80211_HT_MPDU_DENSITY_1 = 3, /* 1 us */
+ IEEE80211_HT_MPDU_DENSITY_2 = 4, /* 2 us */
IEEE80211_HT_MPDU_DENSITY_4 = 5, /* 4us */
IEEE80211_HT_MPDU_DENSITY_8 = 6, /* 8us */
IEEE80211_HT_MPDU_DENSITY_16 = 7, /* 16us */
@@ -350,7 +356,7 @@ enum ieee80211_tx_rate_flags {
#define IEEE80211_HT_CTL_LEN 4
-struct ieee80211_hdr { /* net80211::ieee80211_frame */
+struct ieee80211_hdr { /* net80211::ieee80211_frame_addr4 */
__le16 frame_control;
__le16 duration_id;
uint8_t addr1[ETH_ALEN];
@@ -360,6 +366,15 @@ struct ieee80211_hdr { /* net80211::ieee80211_frame */
uint8_t addr4[ETH_ALEN];
};
+struct ieee80211_hdr_3addr { /* net80211::ieee80211_frame */
+ __le16 frame_control;
+ __le16 duration_id;
+ uint8_t addr1[ETH_ALEN];
+ uint8_t addr2[ETH_ALEN];
+ uint8_t addr3[ETH_ALEN];
+ __le16 seq_ctrl;
+};
+
struct ieee80211_vendor_ie {
};