summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiranjan Pendharkar <npendhar@codeaurora.org>2017-10-14 19:40:34 -0700
committerpkanwar <pkanwar@google.com>2017-10-15 11:37:26 -0700
commit541f806409a2695f10e789f520917e1ea62f0edc (patch)
treefd5a8cb2167e871fe60edd79dcc915f235d44602
parent67b2d096ba112493dff7a127e702f1e38e0c4794 (diff)
downloadipacfg-mgr-541f806409a2695f10e789f520917e1ea62f0edc.tar.gz
IPA HAL: fix the upstream down issue
When upstream interface went down but tethered interface still up, send "NULL" upstream iface name to IPACM to clean up previous up upstream interface. CRs-fixed:2125887 Bug:67396342 Test: compile Change-Id: Ic586072721f9a053126ae0e6a54a00c196632a35 Signed-off-by: Skylar Chang <chiaweic@codeaurora.org> Signed-off-by: Niranjan Pendharkar <npendhar@codeaurora.org> (cherry picked from commit 4b09d0b7556d2bbd8da714a9a8b51ebd6cf5a061)
-rw-r--r--msm8998/hal/src/HAL.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/msm8998/hal/src/HAL.cpp b/msm8998/hal/src/HAL.cpp
index 59f978d..e19a149 100644
--- a/msm8998/hal/src/HAL.cpp
+++ b/msm8998/hal/src/HAL.cpp
@@ -506,8 +506,7 @@ Return<void> HAL::setUpstreamParameters
BoolResult res = makeInputCheckFailure("Not initialized (setUpstreamParameters)");
hidl_cb(res.success, res.errMsg);
fl.setResult(res.success, res.errMsg);
- }
- else if (!v4AddrParser.addV4(v4Addr) && !v4Addr.empty()) {
+ } else if (!v4AddrParser.addV4(v4Addr) && !v4Addr.empty()) {
BoolResult res = makeInputCheckFailure(v4AddrParser.getLastErrAsStr());
hidl_cb(res.success, res.errMsg);
fl.setResult(res.success, res.errMsg);
@@ -519,7 +518,7 @@ Return<void> HAL::setUpstreamParameters
BoolResult res = makeInputCheckFailure(v6GwParser.getLastErrAsStr());
hidl_cb(res.success, res.errMsg);
fl.setResult(res.success, res.errMsg);
- } else {
+ } else if (iface.size()>= 1) {
RET ipaReturn = mIPA->setUpstream(
iface.c_str(),
v4GwParser.getFirstPrefix(),
@@ -527,6 +526,15 @@ Return<void> HAL::setUpstreamParameters
BoolResult res = ipaResultToBoolResult(ipaReturn);
hidl_cb(res.success, res.errMsg);
fl.setResult(res.success, res.errMsg);
+ } else {
+ /* send NULL iface string when upstream down */
+ RET ipaReturn = mIPA->setUpstream(
+ NULL,
+ v4GwParser.getFirstPrefix(),
+ v6GwParser.getFirstPrefix());
+ BoolResult res = ipaResultToBoolResult(ipaReturn);
+ hidl_cb(res.success, res.errMsg);
+ fl.setResult(res.success, res.errMsg);
}
mLogs.addLog(fl);