diff options
author | Niranjan Pendharkar <npendhar@codeaurora.org> | 2017-10-14 19:40:34 -0700 |
---|---|---|
committer | pkanwar <pkanwar@google.com> | 2017-10-15 11:37:26 -0700 |
commit | 541f806409a2695f10e789f520917e1ea62f0edc (patch) | |
tree | fd5a8cb2167e871fe60edd79dcc915f235d44602 | |
parent | 67b2d096ba112493dff7a127e702f1e38e0c4794 (diff) | |
download | ipacfg-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.cpp | 14 |
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); |