summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavan Kumar M <rpavan@codeaurora.org>2017-11-24 19:24:50 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-11-28 20:01:37 -0800
commitbb4759e1eb24372b823d15da74997121e224b1d3 (patch)
treeda34de5041d4017442d23e9468e1575f0a737e9c
parentd8599fbbe7b7c234a5801c7d67023ecba3a28a4a (diff)
downloadipacfg-mgr-bb4759e1eb24372b823d15da74997121e224b1d3.tar.gz
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
-rw-r--r--hal/inc/PrefixParser.h1
-rw-r--r--hal/src/HAL.cpp8
-rw-r--r--hal/src/PrefixParser.cpp6
3 files changed, 11 insertions, 4 deletions
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 @@ public:
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 @@ Return<void> HAL::setUpstreamParameters
} 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 @@ Return<void> HAL::setUpstreamParameters
/* 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 @@ Prefix PrefixParser::getFirstPrefix() {
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 */