qcacld-3.0: Add BW_IND_ELEM IE to ECSA and beacon structures

BW_IND_ELEM is needed to indicate updated bandwidth to peers
through ECSA frame/along with CSA IE in beacon. Add the IE
in ECSA frame structure and beacon structures.
Generate corresponding APIs with the help of frame parser.

Change-Id: Ia38d40050f945136bd01313bd3e17011b256afad
CRs-Fixed: 3604384
このコミットが含まれているのは:
Srinivas Dasari
2023-08-31 13:03:51 +05:30
committed by Rahul Choudhary
コミット 72b3998eeb
3個のファイルの変更2125行の追加1896行の削除

ファイルの表示

@@ -2554,10 +2554,27 @@ IE transmit_power_env (EID_TRANSMIT_POWER_ENVELOPE)
tx_power[1..8];
}
IE bw_ind_element (EID_EXTN_ID_ELEMENT) OUI (0x87)
{
{
reserved: 1;
disabled_sub_chan_bitmap_present: 1;
reserved_1: 6;
}
{
channel_width: 3;
reserved_2: 5;
}
ccfs0, 1;
ccfs1, 1;
disabled_sub_chan_bitmap[2][0..1] COUNTIS disabled_sub_chan_bitmap_present;
}
IE ChannelSwitchWrapper (EID_CHANNEL_SWITCH_WRAPPER)
{
OPTIE IE WiderBWChanSwitchAnn;
OPTIE IE transmit_power_env;
OPTIE IE bw_ind_element;
}
IE reduced_neighbor_report (EID_RNR_IE)
@@ -4942,6 +4959,7 @@ FRAME ext_channel_switch_action_frame
FF ext_chan_switch_ann_action;
OPTIE WiderBWChanSwitchAnn;
OPTIE qcn_ie;
OPTIE bw_ind_element;
}
FRAME p2p_oper_chan_change_confirm

ファイルの表示

@@ -27,7 +27,7 @@
*
*
* This file was automatically generated by 'framesc'
* Wed Aug 16 05:58:15 2023 from the following file(s):
* Thu Aug 31 01:23:37 2023 from the following file(s):
*
* dot11f.frms
*
@@ -4421,6 +4421,52 @@ uint32_t dot11f_get_packed_ie_beacon_report_frm_body_fragment_id(
}; /* End extern "C". */
#endif /* C++ */
/* EID 255 (0xff) Extended EID 135 (0x87) */
typedef struct sDot11fIEbw_ind_element {
uint8_t present;
uint8_t reserved:1;
uint8_t disabled_sub_chan_bitmap_present:1;
uint8_t reserved_1:6;
uint8_t channel_width:3;
uint8_t reserved_2:5;
uint8_t ccfs0;
uint8_t ccfs1;
uint8_t disabled_sub_chan_bitmap[1][2];
} tDot11fIEbw_ind_element;
#define DOT11F_EID_BW_IND_ELEMENT (255)
/* N.B. These #defines do *not* include the EID & length */
#define DOT11F_IE_BW_IND_ELEMENT_MIN_LEN (4)
#define DOT11F_IE_BW_IND_ELEMENT_MAX_LEN (6)
#ifdef __cplusplus
extern "C" {
#endif /* C++ */
__must_check uint32_t dot11f_unpack_ie_bw_ind_element(
tpAniSirGlobal,
uint8_t *,
uint8_t,
tDot11fIEbw_ind_element*,
bool);
uint32_t dot11f_pack_ie_bw_ind_element(
tpAniSirGlobal,
tDot11fIEbw_ind_element *,
uint8_t *,
uint32_t,
uint32_t*);
uint32_t dot11f_get_packed_ie_bw_ind_element(
tpAniSirGlobal,
tDot11fIEbw_ind_element *,
uint32_t*);
#ifdef __cplusplus
}; /* End extern "C". */
#endif /* C++ */
/* EID 164 (0xa4) */
typedef struct sDot11fIElast_beacon_report_indication {
uint8_t present;
@@ -5016,6 +5062,7 @@ typedef struct sDot11fIEChannelSwitchWrapper {
uint8_t present;
tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn;
tDot11fIEtransmit_power_env transmit_power_env;
tDot11fIEbw_ind_element bw_ind_element;
} tDot11fIEChannelSwitchWrapper;
#define DOT11F_EID_CHANNELSWITCHWRAPPER (196)
@@ -5023,7 +5070,7 @@ typedef struct sDot11fIEChannelSwitchWrapper {
/* N.B. These #defines do *not* include the EID & length */
#define DOT11F_IE_CHANNELSWITCHWRAPPER_MIN_LEN (0)
#define DOT11F_IE_CHANNELSWITCHWRAPPER_MAX_LEN (16)
#define DOT11F_IE_CHANNELSWITCHWRAPPER_MAX_LEN (24)
#ifdef __cplusplus
extern "C" {
@@ -12637,6 +12684,7 @@ typedef struct sDot11fext_channel_switch_action_frame{
tDot11fFfext_chan_switch_ann_action ext_chan_switch_ann_action;
tDot11fIEWiderBWChanSwitchAnn WiderBWChanSwitchAnn;
tDot11fIEqcn_ie qcn_ie;
tDot11fIEbw_ind_element bw_ind_element;
} tDot11fext_channel_switch_action_frame;
#define DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME (52)

ファイル差分が大きすぎるため省略します 差分を読み込み