diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-07-10 02:12:35 -0600 |
|---|---|---|
| committer | Linux Build Service Account <lnxbuild@localhost> | 2018-07-10 02:12:35 -0600 |
| commit | 665f1f97ebbc1d726d88d278484979f90ac14daa (patch) | |
| tree | 35482cbd66a6f7ca270d222d95b3953384305b70 | |
| parent | 93aaa0f1af99c47e26e3a8a021e28c6fb96a5467 (diff) | |
| parent | 7ef6ebd06a624baa631136928ace06b44ac87026 (diff) | |
Merge 7ef6ebd06a624baa631136928ace06b44ac87026 on remote branch
Change-Id: I625a21ce005be28556891abe6f4b184ab875ddfa
| -rw-r--r-- | ipacm/src/Android.mk | 1 | ||||
| -rw-r--r-- | ipacm/src/IPACM_Lan.cpp | 14 | ||||
| -rw-r--r-- | ipacm/src/IPACM_OffloadManager.cpp | 4 | ||||
| -rw-r--r-- | ipacm/src/IPACM_Wan.cpp | 21 | ||||
| -rw-r--r-- | ipacm/src/IPACM_Wlan.cpp | 14 |
5 files changed, 47 insertions, 7 deletions
diff --git a/ipacm/src/Android.mk b/ipacm/src/Android.mk index 0a7f2ed..036454f 100644 --- a/ipacm/src/Android.mk +++ b/ipacm/src/Android.mk @@ -11,6 +11,7 @@ BOARD_IPAv3_LIST += msmnile BOARD_IPAv3_LIST += $(MSMSTEPPE) BOARD_IPACM_RESTART_LIST := sdm845 BOARD_IPACM_RESTART_LIST += sdm710 +BOARD_IPACM_RESTART_LIST += msmnile ifneq ($(call is-board-platform-in-list,$(BOARD_PLATFORM_LIST)),true) ifneq (,$(filter $(QCOM_BOARD_PLATFORMS),$(TARGET_BOARD_PLATFORM))) diff --git a/ipacm/src/IPACM_Lan.cpp b/ipacm/src/IPACM_Lan.cpp index 289044a..b1cdb2f 100644 --- a/ipacm/src/IPACM_Lan.cpp +++ b/ipacm/src/IPACM_Lan.cpp @@ -590,7 +590,8 @@ void IPACM_Lan::event_callback(ipa_cm_event_id event, void *param) if (data_wan_tether->is_sta == false) { ext_prop = IPACM_Iface::ipacmcfg->GetExtProp(IPA_IP_v4); - handle_wan_up_ex(ext_prop, IPA_IP_v4, 0); + handle_wan_up_ex(ext_prop, IPA_IP_v4, + IPACM_Wan::getXlat_Mux_Id()); } else { handle_wan_up(IPA_IP_v4); } @@ -772,7 +773,14 @@ void IPACM_Lan::event_callback(ipa_cm_event_id event, void *param) if (IPACM_Wan::backhaul_is_sta_mode == false) /* LTE */ { ext_prop = IPACM_Iface::ipacmcfg->GetExtProp(data->prefix.iptype); - handle_wan_up_ex(ext_prop, data->prefix.iptype, 0); + if (data->prefix.iptype == IPA_IP_v4) + { + handle_wan_up_ex(ext_prop, data->prefix.iptype, + IPACM_Wan::getXlat_Mux_Id()); + } + else { + handle_wan_up_ex(ext_prop, data->prefix.iptype, 0); + } } else { handle_wan_up(data->prefix.iptype); /* STA */ } @@ -2916,9 +2924,11 @@ int IPACM_Lan::handle_down_evt() IPACMDBG_H("LAN IF goes down, backhaul type %d\n", IPACM_Wan::backhaul_is_sta_mode); handle_wan_down(IPACM_Wan::backhaul_is_sta_mode); #ifdef FEATURE_IPA_ANDROID +#ifndef FEATURE_IPACM_HAL /* Clean-up tethered-iface list */ IPACM_Wan::delete_tether_iface(IPA_IP_v4, ipa_if_num); #endif +#endif } if (IPACM_Wan::isWanUP_V6(ipa_if_num) && rx_prop != NULL) diff --git a/ipacm/src/IPACM_OffloadManager.cpp b/ipacm/src/IPACM_OffloadManager.cpp index 12ee5ce..b8c3cf5 100644 --- a/ipacm/src/IPACM_OffloadManager.cpp +++ b/ipacm/src/IPACM_OffloadManager.cpp @@ -678,11 +678,11 @@ int IPACM_OffloadManager::post_route_evt(enum ipa_ip_type iptype, int index, ipa IPACMDBG_H("IPV6 gateway: %08x:%08x:%08x:%08x \n", evt_data_route->ipv6_addr_gw[0], evt_data_route->ipv6_addr_gw[1], evt_data_route->ipv6_addr_gw[2], evt_data_route->ipv6_addr_gw[3]); #endif - if (event == WAN_UPSTREAM_ROUTE_ADD) { + if (event == IPA_WAN_UPSTREAM_ROUTE_ADD_EVENT) { IPACMDBG_H("Received WAN_UPSTREAM_ROUTE_ADD: fid(%d) tether_fid(%d) ip-type(%d)\n", evt_data_route->if_index, evt_data_route->if_index_tether, evt_data_route->iptype); } - else if (event == WAN_UPSTREAM_ROUTE_DEL) { + else if (event == IPA_WAN_UPSTREAM_ROUTE_DEL_EVENT) { IPACMDBG_H("Received WAN_UPSTREAM_ROUTE_DEL: fid(%d) tether_fid(%d) ip-type(%d)\n", evt_data_route->if_index, evt_data_route->if_index_tether, evt_data_route->iptype); diff --git a/ipacm/src/IPACM_Wan.cpp b/ipacm/src/IPACM_Wan.cpp index a131b23..f0fd119 100644 --- a/ipacm/src/IPACM_Wan.cpp +++ b/ipacm/src/IPACM_Wan.cpp @@ -1747,6 +1747,7 @@ int IPACM_Wan::post_wan_up_tether_evt(ipa_ip_type iptype, int ipa_if_num_tether) if (iptype == IPA_IP_v4) { evt_data.event = IPA_HANDLE_WAN_UP_TETHER; +#ifndef FEATURE_IPACM_HAL /* Add support tether ifaces to its array*/ IPACM_Wan::ipa_if_num_tether_v4[IPACM_Wan::ipa_if_num_tether_v4_total] = ipa_if_num_tether; IPACMDBG_H("adding tether iface(%s) ipa_if_num_tether_v4_total(%d) on wan_iface(%s)\n", @@ -1754,11 +1755,13 @@ int IPACM_Wan::post_wan_up_tether_evt(ipa_ip_type iptype, int ipa_if_num_tether) IPACM_Wan::ipa_if_num_tether_v4_total, IPACM_Iface::ipacmcfg->iface_table[ipa_if_num].iface_name); IPACM_Wan::ipa_if_num_tether_v4_total++; +#endif } else { evt_data.event = IPA_HANDLE_WAN_UP_V6_TETHER; memcpy(wanup_data->ipv6_prefix, ipv6_prefix, sizeof(wanup_data->ipv6_prefix)); +#ifndef FEATURE_IPACM_HAL /* Add support tether ifaces to its array*/ IPACM_Wan::ipa_if_num_tether_v6[IPACM_Wan::ipa_if_num_tether_v6_total] = ipa_if_num_tether; IPACMDBG_H("adding tether iface(%s) ipa_if_num_tether_v6_total(%d) on wan_iface(%s)\n", @@ -1766,6 +1769,7 @@ int IPACM_Wan::post_wan_up_tether_evt(ipa_ip_type iptype, int ipa_if_num_tether) IPACM_Wan::ipa_if_num_tether_v6_total, IPACM_Iface::ipacmcfg->iface_table[ipa_if_num].iface_name); IPACM_Wan::ipa_if_num_tether_v6_total++; +#endif } evt_data.evt_data = (void *)wanup_data; IPACM_EvtDispatcher::PostEvt(&evt_data); @@ -1804,22 +1808,26 @@ int IPACM_Wan::post_wan_down_tether_evt(ipa_ip_type iptype, int ipa_if_num_tethe if (iptype == IPA_IP_v4) { +#ifndef FEATURE_IPACM_HAL if(delete_tether_iface(iptype, ipa_if_num_tether)) { IPACMDBG_H("Not finding the tethered client on ipv4.\n"); free(wandown_data); return IPACM_SUCCESS; } +#endif evt_data.event = IPA_HANDLE_WAN_DOWN_TETHER; } else { +#ifndef FEATURE_IPACM_HAL if(delete_tether_iface(iptype, ipa_if_num_tether)) { IPACMDBG_H("Not finding the tethered client on ipv6.\n"); free(wandown_data); return IPACM_SUCCESS; } +#endif evt_data.event = IPA_HANDLE_WAN_DOWN_V6_TETHER; } evt_data.evt_data = (void *)wandown_data; @@ -4713,8 +4721,11 @@ fail: int IPACM_Wan::handle_down_evt_ex() { int res = IPACM_SUCCESS; - uint32_t i, tether_total; + uint32_t i; +#ifndef FEATURE_IPACM_HAL + uint32_t tether_total; int ipa_if_num_tether_tmp[IPA_MAX_IFACE_ENTRIES]; +#endif IPACMDBG_H(" wan handle_down_evt \n"); @@ -4759,6 +4770,9 @@ int IPACM_Wan::handle_down_evt_ex() handle_route_del_evt_ex(IPA_IP_v4); #ifdef FEATURE_IPA_ANDROID /* posting wan_down_tether for all lan clients */ +#ifdef FEATURE_IPACM_HAL + post_wan_down_tether_evt(IPA_IP_v4, 0); +#else for (i=0; i < IPACM_Wan::ipa_if_num_tether_v4_total; i++) { ipa_if_num_tether_tmp[i] = IPACM_Wan::ipa_if_num_tether_v4[i]; @@ -4771,6 +4785,7 @@ int IPACM_Wan::handle_down_evt_ex() i, IPACM_Iface::ipacmcfg->iface_table[ipa_if_num_tether_tmp[i]].iface_name); } #endif +#endif if(IPACM_Wan::wan_up_v6) { IPACMDBG_H("modem v6-call still up(%s), not reset\n", IPACM_Wan::wan_up_dev_name); @@ -4811,6 +4826,9 @@ int IPACM_Wan::handle_down_evt_ex() handle_route_del_evt_ex(IPA_IP_v6); #ifdef FEATURE_IPA_ANDROID /* posting wan_down_tether for all lan clients */ +#ifdef FEATURE_IPACM_HAL + post_wan_down_tether_evt(IPA_IP_v6, 0); +#else for (i=0; i < IPACM_Wan::ipa_if_num_tether_v6_total; i++) { ipa_if_num_tether_tmp[i] = IPACM_Wan::ipa_if_num_tether_v6[i]; @@ -4823,6 +4841,7 @@ int IPACM_Wan::handle_down_evt_ex() i, IPACM_Iface::ipacmcfg->iface_table[ipa_if_num_tether_tmp[i]].iface_name); } #endif +#endif if(IPACM_Wan::wan_up) { IPACMDBG_H("modem v4-call still up(%s), not reset\n", IPACM_Wan::wan_up_dev_name); diff --git a/ipacm/src/IPACM_Wlan.cpp b/ipacm/src/IPACM_Wlan.cpp index 4925e1c..df1c569 100644 --- a/ipacm/src/IPACM_Wlan.cpp +++ b/ipacm/src/IPACM_Wlan.cpp @@ -384,7 +384,8 @@ void IPACM_Wlan::event_callback(ipa_cm_event_id event, void *param) if(data_wan_tether->is_sta == false) { ext_prop = IPACM_Iface::ipacmcfg->GetExtProp(IPA_IP_v4); - handle_wan_up_ex(ext_prop, IPA_IP_v4, 0); + handle_wan_up_ex(ext_prop, IPA_IP_v4, + IPACM_Wan::getXlat_Mux_Id()); } else { handle_wan_up(IPA_IP_v4); } @@ -578,7 +579,14 @@ void IPACM_Wlan::event_callback(ipa_cm_event_id event, void *param) if (IPACM_Wan::backhaul_is_sta_mode == false) /* LTE */ { ext_prop = IPACM_Iface::ipacmcfg->GetExtProp(data->prefix.iptype); - handle_wan_up_ex(ext_prop, data->prefix.iptype, 0); + if (data->prefix.iptype == IPA_IP_v4) + { + handle_wan_up_ex(ext_prop, data->prefix.iptype, + IPACM_Wan::getXlat_Mux_Id()); + } + else { + handle_wan_up_ex(ext_prop, data->prefix.iptype, 0); + } } else { handle_wan_up(data->prefix.iptype); /* STA */ } @@ -1755,9 +1763,11 @@ int IPACM_Wlan::handle_down_evt() IPACMDBG_H("LAN IF goes down, backhaul type %d\n", IPACM_Wan::backhaul_is_sta_mode); IPACM_Lan::handle_wan_down(IPACM_Wan::backhaul_is_sta_mode); #ifdef FEATURE_IPA_ANDROID +#ifndef FEATURE_IPACM_HAL /* Clean-up tethered-iface list */ IPACM_Wan::delete_tether_iface(IPA_IP_v4, ipa_if_num); #endif +#endif } if (IPACM_Wan::isWanUP_V6(ipa_if_num) && rx_prop != NULL) |
