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
这个提交包含在:
5
Kbuild
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
|
||||||
|
在新工单中引用
屏蔽一个用户