qcacmn: Add check to drop mcast loopback packet

Added a check in RX path to detect multicast loopback packets in
qwrap mode. In qwrap mode, there are multiple station vaps and
multicast loopback packet from one station vap should not come into
the other station vap. Added a check for this by iterating through
the vap list and checking if any of the vdev mac address matches
with the source address of the packet.

Also added a new vdev parameter to check if qwrap isolation mode is
enabled. In qwrap isolation mode, loopback packets should not be
dropped.

Change-Id: I7d35bf657a87337871156e4caec9038432e23a87
CRs-fixed: 2149190
This commit is contained in:
Nandha Kishore Easwaran 2017-12-12 11:54:01 +05:30 • committed by snandini
commit 47e7416b12
5 changed files with 62 additions and 1 deletions

View file

@ -600,6 +600,7 @@ enum cdp_pdev_param_type {
* @CDP_UPDATE_TDLS_FLAGS: tdls link flags
* @CDP_ENABLE_AP_BRIDGE: set ap_bridging enable/disable
* @CDP_ENABLE_CIPHER : set cipher type based on security
* @CDP_ENABLE_QWRAP_ISOLATION: qwrap isolation mode
*/
enum cdp_vdev_param_type {
CDP_ENABLE_NAWDS,
@ -609,7 +610,8 @@ enum cdp_vdev_param_type {
CDP_UPDATE_TDLS_FLAGS,
CDP_CFG_WDS_AGING_TIMER,
CDP_ENABLE_AP_BRIDGE,
CDP_ENABLE_CIPHER
CDP_ENABLE_CIPHER,
CDP_ENABLE_QWRAP_ISOLATION
};
#define TXRX_FW_STATS_TXSTATS 1