qcacld-3.0: Featurize WLAN_FEATURE_PACKET_FILTERING

Featurize WLAN_FEATURE_PACKET_FILTERING to compile out
in mission mode.

Change-Id: I373e65b9286dd6a6e870dce873d19bf3b3455adb
CRs-Fixed: 2241323
这个提交包含在:
Qiwei Cai
2018-05-17 18:35:19 +08:00
提交者 nshrivas
父节点 e68ad9d66b
当前提交 4505fc6fde
修改 10 个文件,包含 47 行新增12 行删除

5
Kbuild
查看文件

@@ -51,7 +51,6 @@ HDD_OBJS := $(HDD_SRC_DIR)/wlan_hdd_assoc.o \
$(HDD_SRC_DIR)/wlan_hdd_object_manager.o \ $(HDD_SRC_DIR)/wlan_hdd_object_manager.o \
$(HDD_SRC_DIR)/wlan_hdd_oemdata.o \ $(HDD_SRC_DIR)/wlan_hdd_oemdata.o \
$(HDD_SRC_DIR)/wlan_hdd_p2p.o \ $(HDD_SRC_DIR)/wlan_hdd_p2p.o \
$(HDD_SRC_DIR)/wlan_hdd_packet_filter.o \
$(HDD_SRC_DIR)/wlan_hdd_power.o \ $(HDD_SRC_DIR)/wlan_hdd_power.o \
$(HDD_SRC_DIR)/wlan_hdd_regulatory.o \ $(HDD_SRC_DIR)/wlan_hdd_regulatory.o \
$(HDD_SRC_DIR)/wlan_hdd_request_manager.o \ $(HDD_SRC_DIR)/wlan_hdd_request_manager.o \
@@ -150,6 +149,10 @@ ifeq ($(CONFIG_WLAN_NUD_TRACKING), y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nud_tracking.o HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nud_tracking.o
endif endif
ifeq ($(CONFIG_WLAN_FEATURE_PACKET_FILTERING), y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_packet_filter.o
endif
########### HOST DIAG LOG ########### ########### HOST DIAG LOG ###########
HOST_DIAG_LOG_DIR := $(WLAN_COMMON_ROOT)/utils/host_diag_log HOST_DIAG_LOG_DIR := $(WLAN_COMMON_ROOT)/utils/host_diag_log

查看文件

@@ -13369,6 +13369,7 @@ enum hdd_external_acs_policy {
#define CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MIN (-120) #define CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MIN (-120)
#define CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MAX (0) #define CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MAX (0)
#ifdef WLAN_FEATURE_PACKET_FILTERING
/* /*
* <ini> * <ini>
* g_enable_packet_filter_bitmap - Enable Packet filters before going into * g_enable_packet_filter_bitmap - Enable Packet filters before going into
@@ -13406,7 +13407,7 @@ enum hdd_external_acs_policy {
#define CFG_ENABLE_PACKET_FILTERS_DEFAULT (0) #define CFG_ENABLE_PACKET_FILTERS_DEFAULT (0)
#define CFG_ENABLE_PACKET_FILTERS_MIN (0) #define CFG_ENABLE_PACKET_FILTERS_MIN (0)
#define CFG_ENABLE_PACKET_FILTERS_MAX (63) #define CFG_ENABLE_PACKET_FILTERS_MAX (63)
#endif /* WLAN_FEATURE_PACKET_FILTERING */
/* /*
* <ini> * <ini>
@@ -15047,7 +15048,9 @@ struct hdd_config {
int8_t mbo_current_rssi_thres; int8_t mbo_current_rssi_thres;
int8_t mbo_current_rssi_mcc_thres; int8_t mbo_current_rssi_mcc_thres;
int8_t mbo_candidate_rssi_btc_thres; int8_t mbo_candidate_rssi_btc_thres;
#ifdef WLAN_FEATURE_PACKET_FILTERING
uint8_t packet_filters_bitmap; uint8_t packet_filters_bitmap;
#endif
uint8_t enable_phy_reg_retention; uint8_t enable_phy_reg_retention;
uint8_t dfs_beacon_tx_enhanced; uint8_t dfs_beacon_tx_enhanced;
uint16_t reduced_beacon_interval; uint16_t reduced_beacon_interval;

查看文件

@@ -1880,7 +1880,9 @@ struct hdd_context {
uint8_t bt_vo_active:1; uint8_t bt_vo_active:1;
enum band_info curr_band; enum band_info curr_band;
bool imps_enabled; bool imps_enabled;
#ifdef WLAN_FEATURE_PACKET_FILTERING
int user_configured_pkt_filter_rules; int user_configured_pkt_filter_rules;
#endif
bool is_fils_roaming_supported; bool is_fils_roaming_supported;
QDF_STATUS (*receive_offload_cb)(struct hdd_adapter *, QDF_STATUS (*receive_offload_cb)(struct hdd_adapter *,
struct sk_buff *); struct sk_buff *);

查看文件

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -27,6 +27,9 @@
/* Include files */ /* Include files */
#include "wlan_hdd_assoc.h" #include "wlan_hdd_assoc.h"
#include "wlan_hdd_power.h" #include "wlan_hdd_power.h"
#ifdef WLAN_FEATURE_PACKET_FILTERING
/** /**
* hdd_enable_default_pkt_filters() - Enable default packet filters based * hdd_enable_default_pkt_filters() - Enable default packet filters based
* on, filters bit map provided in INI, when target goes to suspend mode * on, filters bit map provided in INI, when target goes to suspend mode
@@ -56,4 +59,20 @@ int hdd_disable_default_pkt_filters(struct hdd_adapter *adapter);
int wlan_hdd_set_filter(struct hdd_context *hdd_ctx, int wlan_hdd_set_filter(struct hdd_context *hdd_ctx,
struct pkt_filter_cfg *request, struct pkt_filter_cfg *request,
uint8_t sessionId); uint8_t sessionId);
#else /* WLAN_FEATURE_PACKET_FILTERING */
static inline int
hdd_enable_default_pkt_filters(struct hdd_adapter *adapter)
{
return 0;
}
static inline int
hdd_disable_default_pkt_filters(struct hdd_adapter *adapter)
{
return 0;
}
#endif /* WLAN_FEATURE_PACKET_FILTERING */
#endif #endif

查看文件

@@ -27,12 +27,9 @@
#include "wlan_hdd_main.h" #include "wlan_hdd_main.h"
#ifdef WLAN_FEATURE_PACKET_FILTERING
#define HDD_MAX_CMP_PER_PACKET_FILTER 5
#define HDD_WAKELOCK_TIMEOUT_CONNECT 1000 #define HDD_WAKELOCK_TIMEOUT_CONNECT 1000
#define HDD_WAKELOCK_TIMEOUT_RESUME 1000 #define HDD_WAKELOCK_TIMEOUT_RESUME 1000
/* /*
* HDD_WAKELOCK_CONNECT_COMPLETE = CSR_JOIN_FAILURE_TIMEOUT_DEFAULT (3000) + * HDD_WAKELOCK_CONNECT_COMPLETE = CSR_JOIN_FAILURE_TIMEOUT_DEFAULT (3000) +
* WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STADEF (1000) + * WNI_CFG_AUTHENTICATE_FAILURE_TIMEOUT_STADEF (1000) +
@@ -40,6 +37,10 @@
*/ */
#define HDD_WAKELOCK_CONNECT_COMPLETE 6000 #define HDD_WAKELOCK_CONNECT_COMPLETE 6000
#ifdef WLAN_FEATURE_PACKET_FILTERING
#define HDD_MAX_CMP_PER_PACKET_FILTER 5
/** /**
* enum pkt_filter_protocol_layer - packet filter protocol layer * enum pkt_filter_protocol_layer - packet filter protocol layer
* @HDD_FILTER_PROTO_TYPE_INVALID: Invalid initial value * @HDD_FILTER_PROTO_TYPE_INVALID: Invalid initial value

查看文件

@@ -5125,12 +5125,14 @@ struct reg_table_entry g_registry_table[] = {
CFG_IS_FILS_ENABLED_MIN, CFG_IS_FILS_ENABLED_MIN,
CFG_IS_FILS_ENABLED_MAX), CFG_IS_FILS_ENABLED_MAX),
#ifdef WLAN_FEATURE_PACKET_FILTERING
REG_VARIABLE(CFG_ENABLE_PACKET_FILTERS_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_ENABLE_PACKET_FILTERS_NAME, WLAN_PARAM_Integer,
struct hdd_config, packet_filters_bitmap, struct hdd_config, packet_filters_bitmap,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_PACKET_FILTERS_DEFAULT, CFG_ENABLE_PACKET_FILTERS_DEFAULT,
CFG_ENABLE_PACKET_FILTERS_MIN, CFG_ENABLE_PACKET_FILTERS_MIN,
CFG_ENABLE_PACKET_FILTERS_MAX), CFG_ENABLE_PACKET_FILTERS_MAX),
#endif /* WLAN_FEATURE_PACKET_FILTERING */
REG_VARIABLE(CFG_DFS_BEACON_TX_ENHANCED, WLAN_PARAM_Integer, REG_VARIABLE(CFG_DFS_BEACON_TX_ENHANCED, WLAN_PARAM_Integer,
struct hdd_config, dfs_beacon_tx_enhanced, struct hdd_config, dfs_beacon_tx_enhanced,

查看文件

@@ -6227,6 +6227,7 @@ static int drv_cmd_get_linkspeed(struct hdd_adapter *adapter,
return ret; return ret;
} }
#ifdef WLAN_FEATURE_PACKET_FILTERING
/** /**
* hdd_set_rx_filter() - set RX filter * hdd_set_rx_filter() - set RX filter
* @adapter: Pointer to adapter * @adapter: Pointer to adapter
@@ -6407,6 +6408,7 @@ static int drv_cmd_rx_filter_add(struct hdd_adapter *adapter,
{ {
return hdd_driver_rxfilter_command_handler(command, adapter, true); return hdd_driver_rxfilter_command_handler(command, adapter, true);
} }
#endif /* WLAN_FEATURE_PACKET_FILTERING */
/** /**
* hdd_parse_setantennamode_command() - HDD Parse SETANTENNAMODE * hdd_parse_setantennamode_command() - HDD Parse SETANTENNAMODE
@@ -6997,8 +6999,10 @@ static const struct hdd_drv_cmd hdd_drv_cmds[] = {
#endif #endif
{"RSSI", drv_cmd_get_rssi, false}, {"RSSI", drv_cmd_get_rssi, false},
{"LINKSPEED", drv_cmd_get_linkspeed, false}, {"LINKSPEED", drv_cmd_get_linkspeed, false},
#ifdef WLAN_FEATURE_PACKET_FILTERING
{"RXFILTER-REMOVE", drv_cmd_rx_filter_remove, true}, {"RXFILTER-REMOVE", drv_cmd_rx_filter_remove, true},
{"RXFILTER-ADD", drv_cmd_rx_filter_add, true}, {"RXFILTER-ADD", drv_cmd_rx_filter_add, true},
#endif
{"SET_FCC_CHANNEL", drv_cmd_set_fcc_channel, true}, {"SET_FCC_CHANNEL", drv_cmd_set_fcc_channel, true},
{"CHANNEL_SWITCH", drv_cmd_set_channel_switch, true}, {"CHANNEL_SWITCH", drv_cmd_set_channel_switch, true},
{"SETANTENNAMODE", drv_cmd_set_antenna_mode, true}, {"SETANTENNAMODE", drv_cmd_set_antenna_mode, true},

查看文件

@@ -2917,8 +2917,6 @@ typedef struct sSirRoamOffloadScanRsp {
uint32_t reason; uint32_t reason;
} tSirRoamOffloadScanRsp, *tpSirRoamOffloadScanRsp; } tSirRoamOffloadScanRsp, *tpSirRoamOffloadScanRsp;
#ifdef WLAN_FEATURE_PACKET_FILTERING
/*--------------------------------------------------------------------------- /*---------------------------------------------------------------------------
Packet Filtering Parameters Packet Filtering Parameters
---------------------------------------------------------------------------*/ ---------------------------------------------------------------------------*/
@@ -2928,6 +2926,7 @@ typedef struct sSirRoamOffloadScanRsp {
#define SIR_MAX_NUM_FILTERS 20 #define SIR_MAX_NUM_FILTERS 20
#define SIR_MAX_NUM_TESTS_PER_FILTER 10 #define SIR_MAX_NUM_TESTS_PER_FILTER 10
#ifdef WLAN_FEATURE_PACKET_FILTERING
/* */ /* */
/* Filter Packet Match Count Parameters */ /* Filter Packet Match Count Parameters */
/* */ /* */
@@ -2955,6 +2954,7 @@ typedef struct sSirRcvFltPktClearParam {
struct qdf_mac_addr self_macaddr; struct qdf_mac_addr self_macaddr;
struct qdf_mac_addr bssid; struct qdf_mac_addr bssid;
} tSirRcvFltPktClearParam, *tpSirRcvFltPktClearParam; } tSirRcvFltPktClearParam, *tpSirRcvFltPktClearParam;
#endif /* WLAN_FEATURE_PACKET_FILTERING */
/* */ /* */
/* Multicast Address List Parameters */ /* Multicast Address List Parameters */
@@ -2966,7 +2966,6 @@ typedef struct sSirRcvFltMcAddrList {
struct qdf_mac_addr bssid; struct qdf_mac_addr bssid;
uint8_t action; uint8_t action;
} tSirRcvFltMcAddrList, *tpSirRcvFltMcAddrList; } tSirRcvFltMcAddrList, *tpSirRcvFltMcAddrList;
#endif /* WLAN_FEATURE_PACKET_FILTERING */
/* */ /* */
/* Generic version information */ /* Generic version information */

查看文件

@@ -365,9 +365,10 @@ struct sir_mgmt_msg {
/* (SIR_HAL_ITC_MSG_TYPES_BEGIN + 122) is unused */ /* (SIR_HAL_ITC_MSG_TYPES_BEGIN + 122) is unused */
#ifdef WLAN_FEATURE_PACKET_FILTERING
#define SIR_HAL_8023_MULTICAST_LIST_REQ \ #define SIR_HAL_8023_MULTICAST_LIST_REQ \
(SIR_HAL_ITC_MSG_TYPES_BEGIN + 123) (SIR_HAL_ITC_MSG_TYPES_BEGIN + 123)
#ifdef WLAN_FEATURE_PACKET_FILTERING
#define SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ \ #define SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ \
(SIR_HAL_ITC_MSG_TYPES_BEGIN + 124) (SIR_HAL_ITC_MSG_TYPES_BEGIN + 124)
#define SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ \ #define SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ \

查看文件

@@ -257,8 +257,9 @@
#define WMA_ROAM_OFFLOAD_SYNCH_FAIL SIR_HAL_ROAM_OFFLOAD_SYNCH_FAIL #define WMA_ROAM_OFFLOAD_SYNCH_FAIL SIR_HAL_ROAM_OFFLOAD_SYNCH_FAIL
#endif #endif
#ifdef WLAN_FEATURE_PACKET_FILTERING
#define WMA_8023_MULTICAST_LIST_REQ SIR_HAL_8023_MULTICAST_LIST_REQ #define WMA_8023_MULTICAST_LIST_REQ SIR_HAL_8023_MULTICAST_LIST_REQ
#ifdef WLAN_FEATURE_PACKET_FILTERING
#define WMA_RECEIVE_FILTER_SET_FILTER_REQ SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ #define WMA_RECEIVE_FILTER_SET_FILTER_REQ SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ
#define WMA_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ #define WMA_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ
#define WMA_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP #define WMA_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP