summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammed Javid <mjavid@codeaurora.org>2018-04-19 17:53:17 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2018-05-02 12:39:42 -0700
commit0c86c05bdb83da5252807a1ea639cb6a9bef6141 (patch)
tree0bc5681b819712f47285d0771ef26e33190b0575
parent548f06408c0458b49daa34f8501b38fad696de53 (diff)
downloadipacfg-mgr-0c86c05bdb83da5252807a1ea639cb6a9bef6141.tar.gz
ipacm:clear event cache if ipacm receives stopOffload
Currently if NAT iface is not added, IPACM cache setupstream events but default gw index will be set only after adding NAT iface. If IPACM receives stopOffload in between, then it is returning input check error to framework. Add check and clear event cache in case of stopOffload. Change-Id: I1e49a37bfba64458f8966c9894bf48f749f0bbd7
-rw-r--r--ipacm/src/IPACM_OffloadManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/ipacm/src/IPACM_OffloadManager.cpp b/ipacm/src/IPACM_OffloadManager.cpp
index c0378de..5efe20f 100644
--- a/ipacm/src/IPACM_OffloadManager.cpp
+++ b/ipacm/src/IPACM_OffloadManager.cpp
@@ -366,6 +366,14 @@ RET IPACM_OffloadManager::setUpstream(const char *upstream_name, const Prefix& g
if(upstream_name == NULL)
{
if (default_gw_index == INVALID_IFACE) {
+ for (index = 0; index < MAX_EVENT_CACHE; index++) {
+ if (event_cache[index].valid == true &&
+ event_cache[index ].event == IPA_WAN_UPSTREAM_ROUTE_ADD_EVENT) {
+ event_cache[index].valid = false;
+ memset(event_cache, 0, MAX_EVENT_CACHE*sizeof(framework_event_cache));
+ return SUCCESS;
+ }
+ }
IPACMERR("no previous upstream set before\n");
return FAIL_INPUT_CHECK;
}