qcacld-3.0: Enable packet tracker for non performance builds

Enable the packet tracker feature for non performance builds
by enabling the macro QCA_PKT_PROTO_TRACE and set the
default packet tracker log level to dump the DHCP, EAPOL
and management packet details. The necessary log level can
be modified using the ini 'gEnableDebugLog' entry either at
compile time or at run time using the IOCTL 'setDbgLvl'.
The logs are dumped using the same IOCTL 'setDbgLvl'.

e.g.,
To enable all the packet trace features
- iwpriv wlan0 setDbgLvl 0x0f
To dump the packet trace
- iwpriv wlan0 setDbgLvl 9999

Change-Id: I4fe82e0091517f0614baedf620976dd37b94a974
CRs-Fixed: 998642
This commit is contained in:
Chandrasekaran, Manishekar
2016-04-07 12:00:10 +05:30
committed by Gerrit - the friendly Code Review server
parent 7009f25399
commit b2d9fa14f4
3 changed files with 35 additions and 3 deletions

27
Kbuild
View File

@@ -41,6 +41,31 @@ ifeq ($(KERNEL_BUILD), 0)
CONFIG_MOBILE_ROUTER := y CONFIG_MOBILE_ROUTER := y
endif endif
# As per target team, build is done as follows:
# Defconfig : build with default flags
# Slub : defconfig + CONFIG_SLUB_DEBUG=y +
# CONFIG_SLUB_DEBUG_ON=y + CONFIG_PAGE_POISONING=y
# Perf : Using appropriate msmXXXX-perf_defconfig
#
# Shipment builds (user variants) should not have any debug feature
# enabled. This is identified using 'TARGET_BUILD_VARIANT'. Slub builds
# are identified using the CONFIG_SLUB_DEBUG_ON configuration. Since
# there is no other way to identify defconfig builds, QCOMs internal
# representation of perf builds (identified using the string 'perf'),
# is used to identify if the build is a slub or defconfig one. This
# way no critical debug feature will be enabled for perf and shipment
# builds. Other OEMs are also protected using the TARGET_BUILD_VARIANT
# config.
ifneq ($(TARGET_BUILD_VARIANT),user)
ifeq ($(CONFIG_SLUB_DEBUG_ON),y)
CONFIG_PKT_PROTO_TRACE := y
else
ifeq ($(findstring perf,$(KERNEL_DEFCONFIG)),)
CONFIG_PKT_PROTO_TRACE := y
endif
endif
endif
#Flag to enable Legacy Fast Roaming2(LFR2) #Flag to enable Legacy Fast Roaming2(LFR2)
CONFIG_QCACLD_WLAN_LFR2 := y CONFIG_QCACLD_WLAN_LFR2 := y
#Flag to enable Legacy Fast Roaming3(LFR3) #Flag to enable Legacy Fast Roaming3(LFR3)
@@ -979,7 +1004,7 @@ CDEFINES += -DQCA_LL_LEGACY_TX_FLOW_CONTROL
endif endif
endif endif
ifeq ($(CONFIG_DEBUG_LL),y) ifeq ($(CONFIG_PKT_PROTO_TRACE), y)
CDEFINES += -DQCA_PKT_PROTO_TRACE CDEFINES += -DQCA_PKT_PROTO_TRACE
endif endif

View File

@@ -119,4 +119,8 @@ config QCACLD_WLAN_LFR2
bool "Enable the WLAN Legacy Fast Roaming feature Version 2" bool "Enable the WLAN Legacy Fast Roaming feature Version 2"
default n default n
config PKT_PROTO_TRACE
bool "Enable packet trace feature"
default n
endif # QCA_CLD_WLAN endif # QCA_CLD_WLAN

View File

@@ -2121,15 +2121,18 @@ typedef enum {
/* /*
* Connection related log Enable/Disable. * Connection related log Enable/Disable.
* 0x1 - Enable mgmt pkt logs (no probe req/rsp). * 0x1 - Enable mgmt pkt logs (excpet probe req/rsp, beacons).
* 0x2 - Enable EAPOL pkt logs. * 0x2 - Enable EAPOL pkt logs.
* 0x4 - Enable DHCP pkt logs. * 0x4 - Enable DHCP pkt logs.
* 0x8 - Enable mgmt action frames logs.
* 0x0 - Disable all the above connection related logs. * 0x0 - Disable all the above connection related logs.
*
* The default value of 0x0F will enable all the above logs.
*/ */
#define CFG_ENABLE_DEBUG_CONNECT_ISSUE "gEnableDebugLog" #define CFG_ENABLE_DEBUG_CONNECT_ISSUE "gEnableDebugLog"
#define CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN (0) #define CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN (0)
#define CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX (0xFF) #define CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX (0xFF)
#define CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT (0) #define CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT (0x0F)
/* This will be used only for debugging purpose, will be removed after sometime */ /* This will be used only for debugging purpose, will be removed after sometime */
#define CFG_ENABLE_RX_THREAD "gEnableRxThread" #define CFG_ENABLE_RX_THREAD "gEnableRxThread"