IPA-HAL: Send null ipv4/ipv6 address to IPACM Send null ipv4/ipv6 address to IPACM while sending the upstream parameters if there are no v4/v6 addresses. Change-Id: Ice32b666b301c2dd41bf182866253063efb208a2 CRs-Fixed: 2149882
diff --git a/hal/inc/PrefixParser.h b/hal/inc/PrefixParser.h index 4682aa5..99afbe0 100644 --- a/hal/inc/PrefixParser.h +++ b/hal/inc/PrefixParser.h
@@ -57,6 +57,7 @@ int size(); bool allAreFullyQualified(); Prefix getFirstPrefix(); + Prefix getFirstPrefix(IP_FAM); string getLastErrAsStr(); private: bool add(string /* in */, IP_FAM /* famHint */);
diff --git a/hal/src/HAL.cpp b/hal/src/HAL.cpp index c4d9722..d1d10fd 100644 --- a/hal/src/HAL.cpp +++ b/hal/src/HAL.cpp
@@ -521,8 +521,8 @@ } else if (iface.size()>= 1) { RET ipaReturn = mIPA->setUpstream( iface.c_str(), - v4GwParser.getFirstPrefix(), - v6GwParser.getFirstPrefix()); + v4GwParser.getFirstPrefix(IP_FAM::V4), + v6GwParser.getFirstPrefix(IP_FAM::V6)); BoolResult res = ipaResultToBoolResult(ipaReturn); hidl_cb(res.success, res.errMsg); fl.setResult(res.success, res.errMsg); @@ -530,8 +530,8 @@ /* send NULL iface string when upstream down */ RET ipaReturn = mIPA->setUpstream( NULL, - v4GwParser.getFirstPrefix(), - v6GwParser.getFirstPrefix()); + v4GwParser.getFirstPrefix(IP_FAM::V4), + v6GwParser.getFirstPrefix(IP_FAM::V6)); BoolResult res = ipaResultToBoolResult(ipaReturn); hidl_cb(res.success, res.errMsg); fl.setResult(res.success, res.errMsg);
diff --git a/hal/src/PrefixParser.cpp b/hal/src/PrefixParser.cpp index d38bec0..ff55147 100644 --- a/hal/src/PrefixParser.cpp +++ b/hal/src/PrefixParser.cpp
@@ -111,6 +111,12 @@ return makeBlankPrefix(IP_FAM::INVALID); } /* getFirstPrefix */ +Prefix PrefixParser::getFirstPrefix(IP_FAM famHint) { + if (size() >= 1) + return mPrefixes[0]; + return makeBlankPrefix(famHint); +} /* getFirstPrefix */ + string PrefixParser::getLastErrAsStr() { return mLastErr; } /* getLastErrAsStr */