фикс ошибок: пустая строка qos.class.filters.proto в запросе, не применяющиеся настройки сети, нет шага у "ACM*" и "*ослабление"
This commit is contained in:
@@ -425,21 +425,21 @@ public:
|
||||
}
|
||||
|
||||
void setNetworkSettings(TerminalNetworkSettings& s, bool readback = true) {
|
||||
const auto [mAddr, mMask] = splitIpAndMask(s.managementIp);
|
||||
const auto [dAddr, dMask] = splitIpAndMask(s.dataIp);
|
||||
const auto mang = splitIpAndMask(s.managementIp);
|
||||
std::pair<std::string, std::string> data;
|
||||
bool isL2;
|
||||
if (s.mode == "l2") { isL2 = true; }
|
||||
else if (s.mode == "l3") { isL2 = false; }
|
||||
else if (s.mode == "l3") { isL2 = false; data = splitIpAndMask(s.dataIp); }
|
||||
else { throw std::runtime_error("invalid mode"); }
|
||||
|
||||
std::lock_guard lock(this->cpApiMutex);
|
||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
||||
CP_SetNetwork(sid, "mode", isL2 ? "tap" : "tun");
|
||||
CP_SetNetwork(sid, "addr", mAddr.c_str());
|
||||
CP_SetNetwork(sid, "mask", mMask.c_str());
|
||||
CP_SetNetwork(sid, "addr", mang.first.c_str());
|
||||
CP_SetNetwork(sid, "mask", mang.second.c_str());
|
||||
CP_SetNetwork(sid, "gateway", s.managementGateway.c_str());
|
||||
if (!isL2) {
|
||||
CP_SetNetwork(sid, "data_addr", dAddr.c_str());
|
||||
CP_SetNetwork(sid, "data_addr", data.first.c_str());
|
||||
// TODO маска не устанавливается, потому что в API этого нет
|
||||
}
|
||||
// TODO MTU не устанавливается, потому что в API этого нет
|
||||
@@ -447,6 +447,7 @@ public:
|
||||
if (readback) {
|
||||
std::string tmp;
|
||||
s.reset();
|
||||
s.managementIp.clear();
|
||||
CP_GetNetwork(sid, "addr", &s.managementIp);
|
||||
CP_GetNetwork(sid, "mask", &tmp);
|
||||
s.managementIp += "/";
|
||||
|
Reference in New Issue
Block a user