qcacld-3.0: add DA check for EAPOL if not from regular RX path
For MLO connection, if the RX EAPOL frame is not from regular RX path, then DA conversion likely has not done by HW. Add DA check for EAPOL if not from regular RX path. Change-Id: Ib68d247be216805d11d42da3f8580c47dffe93b6 CRs-Fixed: 3289834
Este cometimento está contido em:

cometido por
Madan Koyyalamudi

ascendente
4f7dd9caca
cometimento
27c185dbcd
@@ -637,4 +637,28 @@ dp_rx_ol_init(struct wlan_dp_psoc_context *dp_ctx,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef WLAN_FEATURE_11BE_MLO
|
||||||
|
static inline
|
||||||
|
void dp_rx_pkt_da_check(struct wlan_dp_intf *dp_intf, qdf_nbuf_t nbuf)
|
||||||
|
{
|
||||||
|
/* only do DA check for RX frame from non-regular path */
|
||||||
|
if (!qdf_nbuf_is_exc_frame(nbuf))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (qdf_mem_cmp(qdf_nbuf_data(nbuf), dp_intf->mac_addr.bytes,
|
||||||
|
ETH_ALEN)) {
|
||||||
|
dp_info("da mac:" QDF_MAC_ADDR_FMT "intf_mac:" QDF_MAC_ADDR_FMT,
|
||||||
|
QDF_MAC_ADDR_REF(qdf_nbuf_data(nbuf)),
|
||||||
|
QDF_MAC_ADDR_REF(dp_intf->mac_addr.bytes));
|
||||||
|
qdf_mem_copy(qdf_nbuf_data(nbuf), dp_intf->mac_addr.bytes,
|
||||||
|
ETH_ALEN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static inline
|
||||||
|
void dp_rx_pkt_da_check(struct wlan_dp_intf *dp_intf, qdf_nbuf_t nbuf)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1653,6 +1653,9 @@ QDF_STATUS dp_rx_packet_cbk(void *dp_intf_context,
|
|||||||
} else if (qdf_nbuf_is_ipv4_eapol_pkt(nbuf)) {
|
} else if (qdf_nbuf_is_ipv4_eapol_pkt(nbuf)) {
|
||||||
subtype = qdf_nbuf_get_eapol_subtype(nbuf);
|
subtype = qdf_nbuf_get_eapol_subtype(nbuf);
|
||||||
send_over_nl = true;
|
send_over_nl = true;
|
||||||
|
|
||||||
|
/* Mac address check between RX packet DA and dp_intf's */
|
||||||
|
dp_rx_pkt_da_check(dp_intf, nbuf);
|
||||||
if (subtype == QDF_PROTO_EAPOL_M1) {
|
if (subtype == QDF_PROTO_EAPOL_M1) {
|
||||||
++dp_intf->dp_stats.eapol_stats.
|
++dp_intf->dp_stats.eapol_stats.
|
||||||
eapol_m1_count;
|
eapol_m1_count;
|
||||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador