summaryrefslogtreecommitdiffstats
path: root/ipacm/src/IPACM_Wlan.cpp
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-09-21 08:18:44 -0700
committerLinux Build Service Account <lnxbuild@localhost>2019-09-21 08:18:44 -0700
commita4c6303b4df53f5fc225b4958d40192e952c71e6 (patch)
treef61417e271258c8f36a6734d5cbb29b951d917af /ipacm/src/IPACM_Wlan.cpp
parent04428a8c35f757b3e04d6ca321af3e388b86e77a (diff)
parent8896aca5917243cf1827dcf7eb9b4b5822141fe1 (diff)
downloadandroid_vendor_qcom_opensource_data-ipa-cfg-mgr-a4c6303b4df53f5fc225b4958d40192e952c71e6.tar.gz
android_vendor_qcom_opensource_data-ipa-cfg-mgr-a4c6303b4df53f5fc225b4958d40192e952c71e6.tar.bz2
android_vendor_qcom_opensource_data-ipa-cfg-mgr-a4c6303b4df53f5fc225b4958d40192e952c71e6.zip
Merge 8896aca5917243cf1827dcf7eb9b4b5822141fe1 on remote branch
Change-Id: Ibc15dc75ad76a5cac7a4777500bfbc8f2f99b347
Diffstat (limited to 'ipacm/src/IPACM_Wlan.cpp')
-rw-r--r--ipacm/src/IPACM_Wlan.cpp31
1 files changed, 28 insertions, 3 deletions
diff --git a/ipacm/src/IPACM_Wlan.cpp b/ipacm/src/IPACM_Wlan.cpp
index b7fb9ff..f86dd1d 100644
--- a/ipacm/src/IPACM_Wlan.cpp
+++ b/ipacm/src/IPACM_Wlan.cpp
@@ -1456,6 +1456,7 @@ int IPACM_Wlan::handle_wlan_client_route_rule(uint8_t *mac_addr, ipa_ip_type ipt
uint32_t tx_index;
int wlan_index,v6_num;
const int NUM = 1;
+ bool result;
if(tx_prop == NULL)
{
@@ -1576,8 +1577,19 @@ int IPACM_Wlan::handle_wlan_client_route_rule(uint8_t *mac_addr, ipa_ip_type ipt
{
rt_rule_entry->rule.hashable = true;
}
-
- if (false == m_routing.AddRoutingRule(rt_rule))
+#ifdef IPA_IOCTL_SET_FNR_COUNTER_INFO
+ /* use index hw-counter */
+ if(IPACM_Iface::ipacmcfg->hw_fnr_stats_support)
+ {
+ IPACMDBG_H("hw-index-enable %d, counter %d\n", IPACM_Iface::ipacmcfg->hw_fnr_stats_support, IPACM_Iface::ipacmcfg->hw_counter_offset + DL_HW);
+ result = m_routing.AddRoutingRule_hw_index(rt_rule, IPACM_Iface::ipacmcfg->hw_counter_offset + DL_HW);
+ } else {
+ result = m_routing.AddRoutingRule(rt_rule);
+ }
+#else
+ result = m_routing.AddRoutingRule(rt_rule);
+#endif
+ if (result == false)
{
IPACMERR("Routing rule addition failed!\n");
free(rt_rule);
@@ -1671,7 +1683,20 @@ int IPACM_Wlan::handle_wlan_client_route_rule(uint8_t *mac_addr, ipa_ip_type ipt
#ifdef FEATURE_IPA_V3
rt_rule_entry->rule.hashable = true;
#endif
- if (false == m_routing.AddRoutingRule(rt_rule))
+#ifdef IPA_IOCTL_SET_FNR_COUNTER_INFO
+ /* use index hw-counter */
+ if(IPACM_Iface::ipacmcfg->hw_fnr_stats_support)
+ {
+ IPACMDBG_H("hw-index-enable %d, counter %d\n", IPACM_Iface::ipacmcfg->hw_fnr_stats_support, IPACM_Iface::ipacmcfg->hw_counter_offset + DL_HW);
+ result = m_routing.AddRoutingRule_hw_index(rt_rule, IPACM_Iface::ipacmcfg->hw_counter_offset + DL_HW);
+ } else {
+ result = m_routing.AddRoutingRule(rt_rule);
+ }
+#else
+ result = m_routing.AddRoutingRule(rt_rule);
+#endif
+
+ if (result == false)
{
IPACMERR("Routing rule addition failed!\n");
free(rt_rule);