Correction of VPD using ECC
ECC algorithm corrects VPD data in 32:1 bit ratio in the
event of corruption.
Main Test Cases:
1) Check correction of KW in records.
2) Check correction while writing and reading VPD.
3) Check for Module VPD correction.
Signed-off-by: Giridhari Krishna <giridharikrishnan@gmail.com>
Change-Id: I48a3db18df9d3a2aecde814610ab1b357e6f310d
diff --git a/vpd-manager/manager.cpp b/vpd-manager/manager.cpp
index 53c9ad8..5fc415e 100644
--- a/vpd-manager/manager.cpp
+++ b/vpd-manager/manager.cpp
@@ -168,11 +168,13 @@
try
{
auto vpdVector = getVpdDataInVector(jsonFile, systemVpdFilePath);
+ uint32_t vpdStartOffset = 0;
const auto& inventoryPath =
jsonFile["frus"][systemVpdFilePath][0]["inventoryPath"]
.get_ref<const nlohmann::json::string_t&>();
- parser = ParserFactory::getParser(vpdVector, (pimPath + inventoryPath));
+ parser = ParserFactory::getParser(vpdVector, (pimPath + inventoryPath),
+ systemVpdFilePath, vpdStartOffset);
auto parseResult = parser->parse();
if (auto pVal = std::get_if<Store>(&parseResult))