Browse Source

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
Nandha Kishore Easwaran 7 years ago
parent
commit
3053deedfa
2 changed files with 10 additions and 0 deletions
  1. 1 0
      dp/inc/cdp_txrx_stats_struct.h
  2. 9 0
      dp/wifi3.0/dp_rx_err.c

+ 1 - 0
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 */

+ 9 - 0
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,