Fix EDGE logical switch (de-)serialization (#1361)

Resolves #1359
This commit is contained in:
Raphael Coeffic
2022-01-07 09:45:33 +10:00
committed by GitHub
parent d46067fab2
commit c7e7443c30
@@ -84,7 +84,13 @@ Node convert<LogicalSwitchData>::encode(const LogicalSwitchData& rhs)
def += ",";
def += std::to_string(lswTimerValue(rhs.val2));
def += ",";
def += std::to_string(lswTimerValue(rhs.val3));
if (rhs.val3 < 0) {
def += '<';
} else if (rhs.val3 == 0) {
def += '-';
} else {
def += std::to_string(lswTimerValue(rhs.val2 + rhs.val3));
}
} break;
case LS_FAMILY_VCOMP: {
@@ -147,7 +153,8 @@ bool convert<LogicalSwitchData>::decode(const Node& node,
rhs.val3 = 0;
} else {
def >> v3;
rhs.val3 = timerValue2lsw(v3);
v3 = timerValue2lsw(v3);
rhs.val3 = v3 - rhs.val2;
}
} break;