prplmesh: update to 6.2.0

Refresh the stock OpenWrt platform patches for the new BPL configuration
backend and removed Wi-Fi credential setter. Keep the production log
levels through the upstream syslog CMake setting and update patch offsets.

Signed-off-by: Andrei Ovcharenko <a@krot.name>
This commit is contained in:
Andrei Ovcharenko authored and Hannu Nyman committed 2026-10-10 10:57:44 +03:00
1 parent 7a1f00033d
commit 8312d4a665
7 files changed
+99 -139

No files matched your search

+2 -2
View File
@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=prplmesh
PKG_VERSION:=6.0.1
PKG_VERSION:=6.2.0
PKG_RELEASE:=1
PKG_SOURCE:=prplMesh-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://gitlab.com/prpl-foundation/prplmesh/prplMesh/-/archive/$(PKG_VERSION)/
PKG_HASH:=68602c7bdf521de1797c0e58e66bb45cf105726dfd5a75d8429038012e19a702
PKG_HASH:=35afcd92185b082d5f92021fcd669d370a47ff0881c9ad495abcfb3438d49a2b
PKG_BUILD_DIR:=$(BUILD_DIR)/prplMesh-$(PKG_VERSION)
PKG_LICENSE:=BSD-2-Clause-Patent BSD-3-Clause ISC MIT
+46 -64
View File
@@ -19,32 +19,21 @@ the upstream submission itself goes through the prpl Foundation Jira.
Signed-off-by: Andrei Ovcharenko <a@krot.name>
---
CMakeLists.txt | 1 +
agent/src/beerocks/slave/CMakeLists.txt | 3 +-
.../beerocks/slave/beerocks_agent_main.cpp | 14 +++
.../include/bcl/beerocks_ucc_server_factory.h | 1 +
common/beerocks/bwl/shared/nl80211_socket.h | 2 +
controller/config/CMakeLists.txt | 2 +-
.../beerocks/master/beerocks_master_main.cpp | 31 ++++++
framework/platform/bpl/CMakeLists.txt | 61 +++++++-----
.../bpl/cfg/linux/bpl_cfg_ifaces.cpp.in | 1 +
framework/platform/bpl/cfg/uci/bpl.cpp | 1 +
framework/platform/bpl/cfg/uci/bpl_cfg.cpp | 96 ++++++++++++++++++-
.../platform/bpl/cfg/uci/bpl_cfg_helper.cpp | 47 +++++++++
.../platform/bpl/cfg/uci/bpl_cfg_helper.h | 10 ++
.../platform/bpl/cfg/uci/bpl_cfg_uci.cpp | 18 ++++
14 files changed, 261 insertions(+), 27 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9eb902a..68aa24f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,6 +66,7 @@ option (ENABLE_NBAPI "Build the northbou
@@ -74,6 +74,7 @@ option (ENABLE_NBAPI "Build the northbound (high-level) API" ON)
option (ENABLE_VBSS "Build with Virtual BSS support" ON)
option(USE_PRPLMESH_WHM "Use prplMesh Wireless Hardware Manager" ON)
+option(PRPLMESH_STOCK_OPENWRT_UCI "Build against stock OpenWrt UCI/ubus without Ambiorix or WHM" OFF)
## Generic checks and defaults
option (ENABLE_BEEROCKS_CLI "Build beerocks CLI" ON)
option (ENABLE_PRPLMESH_CLI "Build prplMesh CLI" ON)
diff --git a/agent/src/beerocks/slave/CMakeLists.txt b/agent/src/beerocks/slave/CMakeLists.txt
index 05c27d4..0efae1a 100755
--- a/agent/src/beerocks/slave/CMakeLists.txt
+++ b/agent/src/beerocks/slave/CMakeLists.txt
@@ -15,11 +15,12 @@ file(GLOB beerocks_agent_sources
@@ -61,9 +50,11 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
add_subdirectory("nbapi")
endif()
diff --git a/agent/src/beerocks/slave/beerocks_agent_main.cpp b/agent/src/beerocks/slave/beerocks_agent_main.cpp
index 18ad393..6306f23 100644
--- a/agent/src/beerocks/slave/beerocks_agent_main.cpp
+++ b/agent/src/beerocks/slave/beerocks_agent_main.cpp
@@ -632,6 +632,20 @@ int main(int argc, char *argv[])
@@ -729,6 +729,20 @@ int main(int argc, char *argv[])
return 1;
}
}
@@ -84,6 +75,8 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
// beerocks system hang tester
if (beerocks_slave_conf.enable_system_hang_test == "1") {
diff --git a/common/beerocks/bcl/include/bcl/beerocks_ucc_server_factory.h b/common/beerocks/bcl/include/bcl/beerocks_ucc_server_factory.h
index ffdc14d..b03c894 100644
--- a/common/beerocks/bcl/include/bcl/beerocks_ucc_server_factory.h
+++ b/common/beerocks/bcl/include/bcl/beerocks_ucc_server_factory.h
@@ -12,6 +12,7 @@
@@ -94,6 +87,8 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
#include <memory>
namespace beerocks {
diff --git a/common/beerocks/bwl/shared/nl80211_socket.h b/common/beerocks/bwl/shared/nl80211_socket.h
index 916b942..29aba9f 100644
--- a/common/beerocks/bwl/shared/nl80211_socket.h
+++ b/common/beerocks/bwl/shared/nl80211_socket.h
@@ -21,6 +21,8 @@ namespace bwl {
@@ -105,6 +100,8 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
/**
* @brief Class destructor.
*/
diff --git a/controller/config/CMakeLists.txt b/controller/config/CMakeLists.txt
index 1b13361..6463988 100644
--- a/controller/config/CMakeLists.txt
+++ b/controller/config/CMakeLists.txt
@@ -1,5 +1,5 @@
@@ -114,9 +111,11 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
set(BEEROCKS_CONTROLLER_DATAELEMENTS_VAP_CONFIGS 1)
endif()
diff --git a/controller/src/beerocks/master/beerocks_master_main.cpp b/controller/src/beerocks/master/beerocks_master_main.cpp
index defd36b..72e504c 100644
--- a/controller/src/beerocks/master/beerocks_master_main.cpp
+++ b/controller/src/beerocks/master/beerocks_master_main.cpp
@@ -672,6 +672,18 @@ int main(int argc, char *argv[])
@@ -675,6 +675,18 @@ int main(int argc, char *argv[])
}
}
@@ -135,7 +134,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
std::string base_master_name = std::string(BEEROCKS_CONTROLLER);
//kill running master
@@ -820,6 +832,25 @@ int main(int argc, char *argv[])
@@ -853,6 +865,25 @@ int main(int argc, char *argv[])
beerocks::btl::create_broker_client_factory(broker_uds_path, event_loop);
LOG_IF(!broker_client_factory, FATAL) << "Unable to create broker client factory!";
@@ -161,9 +160,11 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
son::Controller controller(master_db, std::move(broker_client_factory), std::move(ucc_server),
std::move(cmdu_server), timer_manager, event_loop);
diff --git a/framework/platform/bpl/CMakeLists.txt b/framework/platform/bpl/CMakeLists.txt
index 813d4a8..d60d280 100644
--- a/framework/platform/bpl/CMakeLists.txt
+++ b/framework/platform/bpl/CMakeLists.txt
@@ -87,19 +87,32 @@ if (TARGET_PLATFORM STREQUAL "openwrt")
@@ -88,19 +88,32 @@ if (TARGET_PLATFORM STREQUAL "openwrt")
add_definitions(-DHAVE_C99)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
@@ -207,7 +208,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
find_package(ubus REQUIRED)
@@ -159,11 +172,13 @@ else()
@@ -160,11 +173,13 @@ else()
endif()
@@ -226,7 +227,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
# BPL pwhm DM via wbapi
if (USE_PRPLMESH_WHM)
@@ -185,7 +200,7 @@ if (USE_PRPLMESH_WHM)
@@ -209,7 +224,7 @@ if (USE_PRPLMESH_WHM)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WBAPI_SOCK}")
list(APPEND BPL_LIBS wbapi)
@@ -235,25 +236,8 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
file(GLOB_RECURSE bpl_platform_sources
${MODULE_PATH}/*/linux/*.c*
${MODULE_PATH}/service_prioritization/dummy/service_prio_utils_dummy.c*
@@ -194,11 +209,13 @@ else ()
endif()
# BPL configuration via nbapi
-list(FIND bpl_platform_sources ${MODULE_PATH}/cfg/dm/bpl_amx.cpp _index)
-message("bpl_platform_sources: ${bpl_platform_sources}")
-if (_index EQUAL -1)
- message("APPEND bpl_platform_sources with ${MODULE_PATH}/cfg/dm/bpl_amx.cpp")
- list(APPEND bpl_platform_sources ${MODULE_PATH}/cfg/dm/bpl_amx.cpp)
+if (NOT PRPLMESH_STOCK_OPENWRT_UCI)
+ list(FIND bpl_platform_sources ${MODULE_PATH}/cfg/dm/bpl_amx.cpp _index)
+ message("bpl_platform_sources: ${bpl_platform_sources}")
+ if (_index EQUAL -1)
+ message("APPEND bpl_platform_sources with ${MODULE_PATH}/cfg/dm/bpl_amx.cpp")
+ list(APPEND bpl_platform_sources ${MODULE_PATH}/cfg/dm/bpl_amx.cpp)
+ endif()
endif()
list(APPEND BPL_LIBS nbapi)
diff --git a/framework/platform/bpl/cfg/linux/bpl_cfg_ifaces.cpp.in b/framework/platform/bpl/cfg/linux/bpl_cfg_ifaces.cpp.in
index 8e41f58..4f0b0b2 100644
--- a/framework/platform/bpl/cfg/linux/bpl_cfg_ifaces.cpp.in
+++ b/framework/platform/bpl/cfg/linux/bpl_cfg_ifaces.cpp.in
@@ -6,6 +6,7 @@
@@ -264,16 +248,8 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
#include <string>
namespace beerocks {
--- a/framework/platform/bpl/cfg/uci/bpl.cpp
+++ b/framework/platform/bpl/cfg/uci/bpl.cpp
@@ -7,6 +7,7 @@
*/
#include <bpl/bpl.h>
+#include <bpl/bpl_amx.h>
#include <mapf/common/logger.h>
diff --git a/framework/platform/bpl/cfg/uci/bpl_cfg.cpp b/framework/platform/bpl/cfg/uci/bpl_cfg.cpp
index ca17397..c7951e6 100644
--- a/framework/platform/bpl/cfg/uci/bpl_cfg.cpp
+++ b/framework/platform/bpl/cfg/uci/bpl_cfg.cpp
@@ -16,14 +16,41 @@
@@ -315,10 +291,10 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
+ return true;
+}
+
int cfg_get_hostap_iface_steer_vaps(int32_t radio_num,
char hostap_iface_steer_vaps[BPL_LOAD_STEER_ON_VAPS_LEN])
bool bpl_cfg_get_agent_mac(std::string &agent_mac)
{
@@ -152,8 +179,8 @@ int cfg_get_dcs_channel_pool(const BPL_W
agent_mac = DEFAULT_AGENT_MAC;
@@ -174,8 +201,8 @@ int cfg_get_dcs_channel_pool(const BPL_WLAN_IFACE &iface,
return RETURN_ERR;
}
@@ -329,7 +305,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
return RETURN_ERR;
}
@@ -1102,8 +1129,12 @@ bool cfg_get_clients_unicast_measurement
@@ -1108,8 +1135,12 @@ bool get_controller_heartbeat_state_timeout_seconds(std::chrono::seconds &timeou
bool cfg_get_private_bridge_iface(std::string &bridge_iface)
{
@@ -343,7 +319,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
}
bool cfg_get_guest_bridge_iface(std::string &bridge_iface)
@@ -1132,5 +1163,64 @@ bool cfg_get_traffic_separation_guest_vi
@@ -1138,5 +1169,64 @@ bool cfg_get_traffic_separation_guest_vid(int &guest_vid)
bool cfg_commit_changes() { return uci_commit_changes("prplmesh"); }
@@ -408,6 +384,8 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
+
} // namespace bpl
} // namespace beerocks
diff --git a/framework/platform/bpl/cfg/uci/bpl_cfg_helper.cpp b/framework/platform/bpl/cfg/uci/bpl_cfg_helper.cpp
index 493a4ed..fc136e4 100644
--- a/framework/platform/bpl/cfg/uci/bpl_cfg_helper.cpp
+++ b/framework/platform/bpl/cfg/uci/bpl_cfg_helper.cpp
@@ -11,6 +11,7 @@
@@ -418,7 +396,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
#include <mapf/common/logger.h>
#include <mapf/common/utils.h>
@@ -38,6 +39,52 @@ int cfg_get_prplmesh_hostapd_ifaces(std:
@@ -38,6 +39,52 @@ int cfg_get_prplmesh_hostapd_ifaces(std::unordered_map<std::string, std::string>
(char *)"hostap_iface", hostapd_ifaces);
}
@@ -471,12 +449,15 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
int cfg_get_prplmesh_radio_param(int radio_id, const std::string &radio_param, char *buf,
size_t buf_len)
{
diff --git a/framework/platform/bpl/cfg/uci/bpl_cfg_helper.h b/framework/platform/bpl/cfg/uci/bpl_cfg_helper.h
index 8d30352..dd4338b 100644
--- a/framework/platform/bpl/cfg/uci/bpl_cfg_helper.h
+++ b/framework/platform/bpl/cfg/uci/bpl_cfg_helper.h
@@ -26,6 +26,16 @@ namespace bpl {
@@ -25,6 +25,16 @@ namespace bpl {
**/
int cfg_get_prplmesh_hostapd_ifaces(std::unordered_map<std::string, std::string> &hostapd_ifaces);
/**
+/**
+ * Resolve a runtime hostapd interface to its stock OpenWrt wifi-iface section.
+ *
+ * Modern OpenWrt normally omits the legacy wireless.*.ifname option. In that
@@ -486,10 +467,11 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
+ */
+bool cfg_get_prplmesh_wireless_section(const std::string &iface, std::string &section_name);
+
+/**
/**
* Returns the value of requested param from DB
*
* @param [in] param prplmesh param key string
diff --git a/framework/platform/bpl/cfg/uci/bpl_cfg_uci.cpp b/framework/platform/bpl/cfg/uci/bpl_cfg_uci.cpp
index 27f2ac6..59dca31 100644
--- a/framework/platform/bpl/cfg/uci/bpl_cfg_uci.cpp
+++ b/framework/platform/bpl/cfg/uci/bpl_cfg_uci.cpp
@@ -8,6 +8,7 @@
@@ -500,7 +482,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
#include <easylogging++.h>
#include <mapf/common/utils.h>
@@ -130,6 +131,23 @@ int cfg_uci_get_wireless_from_ifname(enu
@@ -130,6 +131,23 @@ int cfg_uci_get_wireless_from_ifname(enum paramType type, const char *interface_
}
}
@@ -21,15 +21,9 @@ the upstream submission itself goes through the prpl Foundation Jira.
Signed-off-by: Andrei Ovcharenko <a@krot.name>
---
.../platform/bpl/cfg/uci/bpl_cfg_wifi.cpp | 215 +++++++++++-------
.../platform/bpl/cfg/uci/bpl_cfg_wifi_utils.h | 139 +++++++++++
framework/platform/bpl/test/CMakeLists.txt | 8 +
.../bpl/test/bpl_cfg_wifi_utils_test.cpp | 66 ++++++
.../assoc_frame_bitfields.h | 1 +
5 files changed, 348 insertions(+), 81 deletions(-)
create mode 100644 framework/platform/bpl/cfg/uci/bpl_cfg_wifi_utils.h
create mode 100644 framework/platform/bpl/test/bpl_cfg_wifi_utils_test.cpp
diff --git a/framework/platform/bpl/cfg/uci/bpl_cfg_wifi.cpp b/framework/platform/bpl/cfg/uci/bpl_cfg_wifi.cpp
index 108073c..669b949 100644
--- a/framework/platform/bpl/cfg/uci/bpl_cfg_wifi.cpp
+++ b/framework/platform/bpl/cfg/uci/bpl_cfg_wifi.cpp
@@ -14,16 +14,113 @@
@@ -146,7 +140,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
static bool bpl_cfg_get_bss_configuration(const std::string &section_name,
son::wireless_utils::sBssInfoConf &configuration)
{
@@ -36,38 +133,9 @@ static bool bpl_cfg_get_bss_configuratio
@@ -36,38 +133,9 @@ static bool bpl_cfg_get_bss_configuration(const std::string &section_name,
// Fill in wireless credentials from option values read from UCI configuration.
configuration.ssid = options["ssid"];
@@ -188,7 +182,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
configuration.network_key = options["key"];
@@ -128,8 +196,8 @@ int cfg_get_wifi_params(const std::strin
@@ -128,8 +196,8 @@ int cfg_get_wifi_params(const std::string &iface, struct BPL_WLAN_PARAMS *wlan_p
cfg_uci_get_wireless_bool(TYPE_RADIO, iface.c_str(), "disabled", &disabled);
wlan_params->enabled = !disabled;
@@ -199,7 +193,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
// Failed to find "sub_band_dfs", set to to default value.
wlan_params->sub_band_dfs = false;
}
@@ -143,7 +211,7 @@ int cfg_get_wifi_params(const std::strin
@@ -143,7 +211,7 @@ int cfg_get_wifi_params(const std::string &iface, struct BPL_WLAN_PARAMS *wlan_p
// country code
char alpha_2[MAX_UCI_BUF_LEN] = {0};
@@ -208,7 +202,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
wlan_params->country_code[0] = alpha_2[0];
wlan_params->country_code[1] = alpha_2[1];
@@ -153,6 +221,15 @@ int cfg_get_wifi_params(const std::strin
@@ -159,6 +227,15 @@ int cfg_get_wifi_universal_index(const std::string &iface, int &index)
bool bpl_cfg_get_wireless_settings(std::list<son::wireless_utils::sBssInfoConf> &wireless_settings)
{
@@ -224,7 +218,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
// Get all "wireless.wifi-iface" section names in UCI configuration
const std::string package_name = "wireless";
const std::string section_type = "wifi-iface";
@@ -227,7 +304,7 @@ bool bpl_cfg_get_wireless_settings(std::
@@ -233,7 +310,7 @@ bool bpl_cfg_get_wireless_settings(std::list<son::wireless_utils::sBssInfoConf>
continue;
}
@@ -233,7 +227,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
if (!bpl_cfg_get_bss_configuration(section_name, configuration)) {
LOG(DEBUG) << "Failed to get SSID and WiFi credentials from section " << section_name;
continue;
@@ -251,13 +328,11 @@ bool bpl_cfg_get_wireless_settings(std::
@@ -257,13 +334,11 @@ bool bpl_cfg_get_wireless_settings(std::list<son::wireless_utils::sBssInfoConf>
continue;
}
@@ -251,7 +245,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
// The mode used by upstream hostapd (11b, 11g, 11n, 11ac, 11ax) is governed by several parameters in
// the configuration file. However, as explained in the comment below from hostapd.conf, the
@@ -274,17 +349,11 @@ bool bpl_cfg_get_wireless_settings(std::
@@ -280,17 +355,11 @@ bool bpl_cfg_get_wireless_settings(std::list<son::wireless_utils::sBssInfoConf>
//
// For MaxLinear's devices, by default '11bgnax' is used for 2.4Ghz bands, and '11anacax' is
// used for 5Ghz bands (see 'files/scripts/lib/netifd/wireless/mac80211.sh' in the swpal package).
@@ -273,7 +267,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
continue;
}
@@ -326,10 +395,10 @@ bool bpl_cfg_get_wireless_settings(std::
@@ -332,10 +401,10 @@ bool bpl_cfg_get_wireless_settings(std::list<son::wireless_utils::sBssInfoConf>
}
}
@@ -287,7 +281,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
}
return true;
@@ -340,7 +409,7 @@ bool bpl_cfg_get_wifi_credentials(const
@@ -346,7 +415,7 @@ bool bpl_cfg_get_wifi_credentials(const std::string &iface,
{
// Find the "wireless.wifi-iface" section in UCI configuration for the given interface
std::string section_name;
@@ -296,43 +290,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
LOG(ERROR) << "Failed to find configuration section for interface " << iface;
return false;
}
@@ -366,9 +435,8 @@ bool bpl_cfg_set_wifi_credentials(const
// Find the "wireless.wifi-iface" section in UCI configuration for the given interface
const std::string package_name = "wireless";
const std::string section_type = "wifi-iface";
- const std::string option_name = "ifname";
std::string section_name;
- if (!uci_find_section_by_option(package_name, section_type, option_name, iface, section_name)) {
+ if (!cfg_get_prplmesh_wireless_section(iface, section_name)) {
LOG(ERROR) << "Failed to find configuration section for interface " << iface;
return false;
}
@@ -382,22 +450,8 @@ bool bpl_cfg_set_wifi_credentials(const
OptionsUnorderedMap options;
options["ssid"] = configuration.ssid;
- auto get_encryption = [](WSC::eWscAuth authentication_type, WSC::eWscEncr encryption_type) {
- std::string encryption = "none";
- if (authentication_type == WSC::eWscAuth::WSC_AUTH_WPA2PSK) {
- encryption = "psk2";
- if (encryption_type == WSC::eWscEncr::WSC_ENCR_TKIP) {
- encryption += "+tkip";
- } else if (encryption_type == WSC::eWscEncr::WSC_ENCR_AES) {
- encryption += "+aes";
- }
- } else if (authentication_type == WSC::eWscAuth::WSC_AUTH_SAE) {
- encryption = "sae";
- }
- return encryption;
- };
- options["encryption"] =
- get_encryption(configuration.authentication_type, configuration.encryption_type);
+ options["encryption"] = wifi_cfg_utils::encryption_to_uci(configuration.authentication_type,
+ configuration.encryption_type);
options["key"] = configuration.network_key;
@@ -476,18 +530,17 @@ void cfg_wifi_reset_wps_credentials() {
@@ -436,18 +505,17 @@ int cfg_get_sta_iface(const std::string &iface, std::string &sta_iface)
int cfg_get_hostap_iface(int32_t radio_num, std::string &hostap_iface)
{
@@ -357,6 +315,9 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
hostap_iface = std::string(iface_c_str);
return result;
}
diff --git a/framework/platform/bpl/cfg/uci/bpl_cfg_wifi_utils.h b/framework/platform/bpl/cfg/uci/bpl_cfg_wifi_utils.h
new file mode 100644
index 0000000..6624ab6
--- /dev/null
+++ b/framework/platform/bpl/cfg/uci/bpl_cfg_wifi_utils.h
@@ -0,0 +1,139 @@
@@ -499,9 +460,11 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
+} // namespace beerocks
+
+#endif // BPL_CFG_WIFI_UTILS_H_
diff --git a/framework/platform/bpl/test/CMakeLists.txt b/framework/platform/bpl/test/CMakeLists.txt
index d2485fd..7318d94 100644
--- a/framework/platform/bpl/test/CMakeLists.txt
+++ b/framework/platform/bpl/test/CMakeLists.txt
@@ -5,3 +5,11 @@ target_include_directories(bpl_test PUBL
@@ -5,3 +5,11 @@ target_include_directories(bpl_test PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../../common/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
)
@@ -513,6 +476,9 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../cfg/uci>
+)
+add_test(NAME bpl_cfg_wifi_utils_test COMMAND $<TARGET_FILE:bpl_cfg_wifi_utils_test>)
diff --git a/framework/platform/bpl/test/bpl_cfg_wifi_utils_test.cpp b/framework/platform/bpl/test/bpl_cfg_wifi_utils_test.cpp
new file mode 100644
index 0000000..bce1ffe
--- /dev/null
+++ b/framework/platform/bpl/test/bpl_cfg_wifi_utils_test.cpp
@@ -0,0 +1,66 @@
@@ -582,6 +548,8 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
+ EXPECT_FALSE(select_unique_wireless_section(two, selected));
+ EXPECT_TRUE(selected.empty());
+}
diff --git a/framework/tlvf/src/include/tlvf/AssociationRequestFrame/assoc_frame_bitfields.h b/framework/tlvf/src/include/tlvf/AssociationRequestFrame/assoc_frame_bitfields.h
index b05bd5f..0ca4610 100644
--- a/framework/tlvf/src/include/tlvf/AssociationRequestFrame/assoc_frame_bitfields.h
+++ b/framework/tlvf/src/include/tlvf/AssociationRequestFrame/assoc_frame_bitfields.h
@@ -4,6 +4,7 @@
@@ -24,7 +24,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
--- a/controller/src/beerocks/master/db/db.cpp
+++ b/controller/src/beerocks/master/db/db.cpp
@@ -7087,6 +7087,10 @@ bool db::dm_clear_empty_current_op_class
@@ -7218,6 +7218,10 @@ bool db::dm_clear_empty_current_op_class
return false;
}
@@ -30,7 +30,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
--- a/controller/src/beerocks/master/db/db.cpp
+++ b/controller/src/beerocks/master/db/db.cpp
@@ -6998,9 +6998,17 @@ bool db::handle_current_op_class(const s
@@ -7129,9 +7129,17 @@ bool db::handle_current_op_class(const s
return false;
}
@@ -46,7 +46,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
--- a/agent/src/beerocks/fronthaul_manager/ap_manager/ap_manager.cpp
+++ b/agent/src/beerocks/fronthaul_manager/ap_manager/ap_manager.cpp
@@ -747,6 +747,20 @@ bool ApManager::ap_manager_fsm(bool &con
@@ -733,6 +733,20 @@ bool ApManager::ap_manager_fsm(bool &con
m_generate_connected_clients_events = !is_finished_all_clients;
}
@@ -69,7 +69,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
break;
--- a/agent/src/beerocks/fronthaul_manager/ap_manager/ap_manager.h
+++ b/agent/src/beerocks/fronthaul_manager/ap_manager/ap_manager.h
@@ -300,6 +300,8 @@ private:
@@ -322,6 +322,8 @@ private:
bool m_generate_connected_clients_events = false;
std::chrono::steady_clock::time_point m_next_generate_connected_events_time =
std::chrono::steady_clock::time_point::min();
@@ -80,7 +80,7 @@ Signed-off-by: Andrei Ovcharenko <a@krot.name>
void start_csa_notification_timer(
--- a/common/beerocks/bwl/include/bwl/ap_wlan_hal.h
+++ b/common/beerocks/bwl/include/bwl/ap_wlan_hal.h
@@ -442,6 +442,14 @@ public:
@@ -470,6 +470,14 @@ public:
virtual bool pre_generate_connected_clients_events() = 0;
/**
@@ -19,33 +19,43 @@ the upstream submission itself goes through the prpl Foundation Jira.
Signed-off-by: Andrei Ovcharenko <a@krot.name>
---
agent/config/beerocks_agent.conf.in | 4 ++--
controller/config/beerocks_controller.conf.in | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 68aa24f..2dd772a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -238,7 +238,7 @@ set(BEEROCKS_LOG_FILES_AUTO_ROLL "true" CACHE STRING "Auto rollback prplMesh log
set(BEEROCKS_LOG_STDOUT_ENABLED "false" CACHE STRING "Print logs to stdout")
set(BEEROCKS_LOG_SYSLOG_ENABLED "true" CACHE STRING "Send logs to syslog")
#full ascending list: trace, debug, info, warning, error, fatal
-set(BEEROCKS_SYSLOG_LEVEL_LIST "error,fatal" CACHE STRING "Syslog level list")
+set(BEEROCKS_SYSLOG_LEVEL_LIST "error,info,warning,fatal" CACHE STRING "Syslog level list")
if (TARGET_PLATFORM STREQUAL "linux")
set(BEEROCKS_CONTROLLER_LOG_SIZE "30000000" CACHE STRING "Max controller log size")
set(BEEROCKS_AGENT_LOG_SIZE "2000000" CACHE STRING "Max agent log size")
diff --git a/agent/config/beerocks_agent.conf.in b/agent/config/beerocks_agent.conf.in
index 7ea4e09..72ae48f 100644
--- a/agent/config/beerocks_agent.conf.in
+++ b/agent/config/beerocks_agent.conf.in
@@ -92,8 +92,8 @@ enable_repeater_mode=0
em_handle_third_party=0
@@ -93,7 +93,7 @@ em_handle_third_party=0
[log]
#full ascending list: trace, debug, info, warning, error, fatal
-log_global_levels=error,info,warning,fatal,trace,debug
-log_global_syslog_levels=error,info,warning,fatal,trace,debug
+log_global_levels=error,info,warning,fatal
+log_global_syslog_levels=error,info,warning,fatal
log_global_syslog_levels=@BEEROCKS_SYSLOG_LEVEL_LIST@
log_global_size=@BEEROCKS_AGENT_LOG_SIZE@
log_files_enabled=@BEEROCKS_LOG_FILES_ENABLED@
log_files_path=@BEEROCKS_LOG_FILES_PATH@
diff --git a/controller/config/beerocks_controller.conf.in b/controller/config/beerocks_controller.conf.in
index be33029..5646005 100644
--- a/controller/config/beerocks_controller.conf.in
+++ b/controller/config/beerocks_controller.conf.in
@@ -56,8 +56,8 @@ fail_safe_5G_vht_frequency=5210
use_dataelements_vap_configs=@BEEROCKS_CONTROLLER_DATAELEMENTS_VAP_CONFIGS@
@@ -57,7 +57,7 @@ use_dataelements_vap_configs=@BEEROCKS_CONTROLLER_DATAELEMENTS_VAP_CONFIGS@
[log]
#full ascending list: trace, debug, info, warning, error, fatal
-log_global_levels=error,info,warning,fatal,trace,debug
-log_global_syslog_levels=error,info,warning,fatal,trace,debug
+log_global_levels=error,info,warning,fatal
+log_global_syslog_levels=error,info,warning,fatal
log_global_syslog_levels=@BEEROCKS_SYSLOG_LEVEL_LIST@
log_global_size=@BEEROCKS_CONTROLLER_LOG_SIZE@
log_files_enabled=@BEEROCKS_LOG_FILES_ENABLED@
log_files_path=@BEEROCKS_LOG_FILES_PATH@