qcacmn: Add bit mask control for special frame deliver
Add bit mask control for special frames deliver in error path. Change-Id: I9f30e53028bf75d02578e5132f62b15ea480d1bd CRs-Fixed: 3457564
Este cometimento está contido em:

cometido por
Madan Koyyalamudi

ascendente
296729e604
cometimento
fc12609405
@@ -531,8 +531,8 @@ dp_rx_oor_handle(struct dp_soc *soc,
|
||||
uint16_t peer_id,
|
||||
uint8_t *rx_tlv_hdr)
|
||||
{
|
||||
uint32_t frame_mask = FRAME_MASK_IPV4_ARP | FRAME_MASK_IPV4_DHCP |
|
||||
FRAME_MASK_IPV4_EAPOL | FRAME_MASK_IPV6_DHCP;
|
||||
uint32_t frame_mask = wlan_cfg_get_special_frame_cfg(soc->wlan_cfg_ctx);
|
||||
|
||||
struct dp_txrx_peer *txrx_peer = NULL;
|
||||
dp_txrx_ref_handle txrx_ref_handle = NULL;
|
||||
|
||||
|
@@ -1811,6 +1811,10 @@
|
||||
#define WLAN_CFG_NUM_PPEDS_TX_DESC_MAX 0
|
||||
#endif
|
||||
|
||||
#define WLAN_CFG_SPECIAL_MSK_MIN 0
|
||||
#define WLAN_CFG_SPECIAL_MSK_MAX 0xFFFFFFFF
|
||||
#define WLAN_CFG_SPECIAL_MSK 0xF
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
|
||||
/*
|
||||
* <ini>
|
||||
@@ -1925,6 +1929,27 @@
|
||||
#define CFG_TX_PKT_INSPECT_FOR_ILP_CFG
|
||||
#endif
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* special_frame_msk - frame mask to mark special frame type
|
||||
* @Min: 0
|
||||
* @Max: 0xFFFFFFFF
|
||||
* @Default: 15
|
||||
*
|
||||
* This ini entry is used to set frame types to deliver to stack
|
||||
* in error receive path
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_SPECIAL_FRAME_MSK \
|
||||
CFG_INI_UINT("special_frame_msk", \
|
||||
WLAN_CFG_SPECIAL_MSK_MIN, \
|
||||
WLAN_CFG_SPECIAL_MSK_MAX, \
|
||||
WLAN_CFG_SPECIAL_MSK, \
|
||||
CFG_VALUE_OR_DEFAULT, "special frame to deliver to stack")
|
||||
|
||||
#define CFG_DP \
|
||||
CFG(CFG_DP_HTT_PACKET_TYPE) \
|
||||
CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \
|
||||
@@ -2053,5 +2078,6 @@
|
||||
CFG_TX_PKT_INSPECT_FOR_ILP_CFG \
|
||||
CFG(CFG_DP_POINTER_TIMER_THRESHOLD_RX) \
|
||||
CFG(CFG_DP_POINTER_NUM_THRESHOLD_RX) \
|
||||
CFG_DP_LOCAL_PKT_CAPTURE_CONFIG
|
||||
CFG_DP_LOCAL_PKT_CAPTURE_CONFIG \
|
||||
CFG(CFG_SPECIAL_FRAME_MSK)
|
||||
#endif /* _CFG_DP_H_ */
|
||||
|
@@ -4277,6 +4277,9 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
|
||||
cfg_get(psoc, CFG_DP_POINTER_NUM_THRESHOLD_RX);
|
||||
wlan_soc_tx_packet_inspect_attach(psoc, wlan_cfg_ctx);
|
||||
wlan_soc_local_pkt_capture_cfg_attach(psoc, wlan_cfg_ctx);
|
||||
wlan_cfg_ctx->special_frame_msk =
|
||||
cfg_get(psoc, CFG_SPECIAL_FRAME_MSK);
|
||||
|
||||
return wlan_cfg_ctx;
|
||||
}
|
||||
#endif
|
||||
@@ -5652,3 +5655,8 @@ wlan_cfg_get_pointer_num_threshold_rx(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->pointer_num_threshold_rx;
|
||||
}
|
||||
|
||||
uint32_t wlan_cfg_get_special_frame_cfg(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->special_frame_msk;
|
||||
}
|
||||
|
@@ -339,6 +339,7 @@ struct wlan_srng_cfg {
|
||||
* @pointer_timer_threshold_rx: RX REO2SW ring pointer update timer threshold
|
||||
* @pointer_num_threshold_rx: RX REO2SW ring pointer update entries threshold
|
||||
* @local_pkt_capture: flag indicating enable/disable of local packet capture
|
||||
* @special_frame_msk: Special frame mask
|
||||
*/
|
||||
struct wlan_cfg_dp_soc_ctxt {
|
||||
int num_int_ctxts;
|
||||
@@ -541,6 +542,7 @@ struct wlan_cfg_dp_soc_ctxt {
|
||||
#ifdef WLAN_FEATURE_LOCAL_PKT_CAPTURE
|
||||
bool local_pkt_capture;
|
||||
#endif
|
||||
uint32_t special_frame_msk;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -2524,4 +2526,13 @@ bool wlan_cfg_get_local_pkt_capture(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_cfg_get_special_frame_cfg() - Get special frame mask
|
||||
* @cfg: soc configuration context
|
||||
*
|
||||
* Return: frame mask
|
||||
*/
|
||||
uint32_t
|
||||
wlan_cfg_get_special_frame_cfg(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
#endif /*__WLAN_CFG_H*/
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador