diff options
author | Mohammed Javid <mjavid@codeaurora.org> | 2018-01-04 12:45:45 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-03-05 02:29:10 -0800 |
commit | ecbbf811402846cffd587a2a41c19210b39d0ec7 (patch) | |
tree | 691b55f4450f842ef52ee97623d3556556690ffa | |
parent | 2e0b44cc7059f9a90e131ef26b6b3c52fc6f686f (diff) | |
download | ipacfg-mgr-ecbbf811402846cffd587a2a41c19210b39d0ec7.tar.gz |
ipacm: Support dynamic backhaul switch between LTE and STA
Support dynamic backhaul switch between LTE and STA if
framework failed to clean up previous backhaul settings
Change-Id: I5b330f81ad5594c5e4c84730cdb414ee722818c3
-rw-r--r-- | ipacm/src/IPACM_OffloadManager.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ipacm/src/IPACM_OffloadManager.cpp b/ipacm/src/IPACM_OffloadManager.cpp index a42f919..85ef7e4 100644 --- a/ipacm/src/IPACM_OffloadManager.cpp +++ b/ipacm/src/IPACM_OffloadManager.cpp @@ -442,6 +442,17 @@ RET IPACM_OffloadManager::setUpstream(const char *upstream_name, const Prefix& g /* reset the stats when switch from LTE->STA */ if (index != default_gw_index) { IPACMDBG_H(" interface switched to %s\n", upstream_name); + if (upstream_v4_up == true) { + IPACMDBG_H("clean upstream for ipv4-fam(%d) upstream_v4_up(%d)\n", gw_addr_v4.fam, upstream_v4_up); + post_route_evt(IPA_IP_v4, default_gw_index, IPA_WAN_UPSTREAM_ROUTE_DEL_EVENT, gw_addr_v4); + upstream_v4_up = false; + } + if (upstream_v6_up == true) { + IPACMDBG_H("clean upstream for ipv6-fam(%d) upstream_v6_up(%d)\n", gw_addr_v6.fam, upstream_v6_up); + post_route_evt(IPA_IP_v6, default_gw_index, IPA_WAN_UPSTREAM_ROUTE_DEL_EVENT, gw_addr_v6); + upstream_v6_up = false; + } + default_gw_index = INVALID_IFACE; if(memcmp(upstream_name, "wlan0", sizeof("wlan0")) == 0) { IPACMDBG_H("switch to STA mode, need reset wlan-fw stats\n"); |