From 2dc5f9123cb4423982906725d76d5fb78226f818 Mon Sep 17 00:00:00 2001 From: Mohammed Javid Date: Thu, 19 Apr 2018 17:53:17 +0530 Subject: 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 --- data-ipa-cfg-mgr/ipacm/src/IPACM_OffloadManager.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'data-ipa-cfg-mgr/ipacm/src/IPACM_OffloadManager.cpp') diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_OffloadManager.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_OffloadManager.cpp index 96200ad..caf040c 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_OffloadManager.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_OffloadManager.cpp @@ -363,13 +363,11 @@ RET IPACM_OffloadManager::setUpstream(const char *upstream_name, const Prefix& g if(upstream_name == NULL) { if (default_gw_index == INVALID_IFACE) { - if (is_cache) { - for (index = 0; index < MAX_EVENT_CACHE; index++) { - if (event_cache[index].valid == true) { - event_cache[index].valid = false; - memset(event_cache, 0, MAX_EVENT_CACHE*sizeof(framework_event_cache)); - } - is_cache = false; + 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; } } -- cgit v1.2.3