From 3053deedfab09437e4be66354545b8e22500f3b1 Mon Sep 17 00:00:00 2001 From: Nandha Kishore Easwaran Date: Mon, 12 Mar 2018 18:27:10 +0530 Subject: [PATCH] qcacmn: Avoid mcast check in qwrap isolation mode Donot perform mcast echo check in case of qwrap isolation mode. In qwrap isolation mode, packets from wired station reaches the wireless station via the rootap. Thus we need to allow loopback packets in qwrap isolation mode. Also add a configuration to set isolation mode. Change-Id: If4a63abd477596f6b48c6cf9b6e7e5bd84ec95c0 CRs-fixed: 2204033 --- dp/inc/cdp_txrx_stats_struct.h | 1 + dp/wifi3.0/dp_rx_err.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index aacdedd06edc..ee2c4b153250 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/dp/inc/cdp_txrx_stats_struct.h @@ -1239,6 +1239,7 @@ enum _ol_ath_param_t { OL_ATH_PARAM_WIDE_BAND_SCAN = 362, OL_ATH_PARAM_CCK_TX_ENABLE = 363, OL_ATH_PARAM_PAPI_ENABLE = 364, + OL_ATH_PARAM_ISOLATION = 365, }; /* Enumeration of PDEV Configuration parameter */ diff --git a/dp/wifi3.0/dp_rx_err.c b/dp/wifi3.0/dp_rx_err.c index 97f50402a3d3..b00b528788b2 100644 --- a/dp/wifi3.0/dp_rx_err.c +++ b/dp/wifi3.0/dp_rx_err.c @@ -90,6 +90,15 @@ static inline bool dp_rx_mcast_echo_check(struct dp_soc *soc, DP_MAC_ADDR_LEN))) return true; + /* + * In case of qwrap isolation mode, donot drop loopback packets. + * In isolation mode, all packets from the wired stations need to go + * to rootap and loop back to reach the wireless stations and + * vice-versa. + */ + if (qdf_unlikely(vdev->isolation_vdev)) + return false; + /* if the received pkts src mac addr matches with the * wired PCs MAC addr which is behind the STA or with * wireless STAs MAC addr which are behind the Repeater,