summaryrefslogtreecommitdiff
path: root/ipacm/src/IPACM_Lan.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ipacm/src/IPACM_Lan.cpp')
-rw-r--r--ipacm/src/IPACM_Lan.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/ipacm/src/IPACM_Lan.cpp b/ipacm/src/IPACM_Lan.cpp
index 3a5a51a..fd06b1b 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 */
}
@@ -2905,9 +2913,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)