qcacmn: NAWDS multicast issue CR2130039

Multicast frames in NAWDS mode causing flood of packets between the
nawds enabled AP's due to continuous sending of mutlicast frames received
from  another AP and vicevera.Resolved the issues by droppping the 3
address Multicast frames and 4 address multicast frames with sa_peer
same as tx_peer.

Change-Id: I5edbcb060720510eb6ea5f5ffd46402535ba6748
CRs-Fixed: 2130039
This commit is contained in:
Ruchi, Agrawal
2017-11-03 17:24:56 +05:30
committed by snandini
parent 7b59903d41
commit bd894b3bb9
5 changed files with 156 additions and 38 deletions

View File

@@ -475,6 +475,20 @@ dp_rx_null_q_desc_handle(struct dp_soc *soc, struct dp_rx_desc *rx_desc,
qdf_spin_unlock_bh(&soc->ast_lock);
skip_mec_check:
if (qdf_unlikely((peer->nawds_enabled == true) &&
hal_rx_msdu_end_da_is_mcbc_get(rx_desc->rx_buf_start)
)) {
QDF_TRACE(QDF_MODULE_ID_DP,
QDF_TRACE_LEVEL_DEBUG,
"%s free buffer for multicast packet",
__func__);
DP_STATS_INC_PKT(peer, rx.nawds_mcast_drop,
1, qdf_nbuf_len(nbuf));
qdf_nbuf_free(nbuf);
goto fail;
}
/* WDS Source Port Learning */
if (qdf_likely(vdev->rx_decap_type == htt_cmn_pkt_type_ethernet))
dp_rx_wds_srcport_learn(soc, rx_desc->rx_buf_start, peer, nbuf);