From 13552d3e2b6b3134c2d54f4e883c0975d9b6980e Mon Sep 17 00:00:00 2001 From: Vladyslav Tupikin Date: Fri, 31 Jul 2020 02:40:00 +0300 Subject: [PATCH] controller: master: Replace VS message by standard one Need to replace vendor-specific message ACTION_CONTROL_BACKHAUL_ROAM_REQUEST by standard one BACKHAUL_STEERING_REQUEST_MESSAGE. Modify method steer_sta() replace creation of vendor specific on standard one with standard tlv, fill up tlv and send message to the agent. https://jira.prplfoundation.org/browse/PPM-277 Signed-off-by: Vladyslav Tupikin --- .../master/tasks/client_steering_task.cpp | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/controller/src/beerocks/master/tasks/client_steering_task.cpp b/controller/src/beerocks/master/tasks/client_steering_task.cpp index 187f25c2a2..f95bb84ce7 100644 --- a/controller/src/beerocks/master/tasks/client_steering_task.cpp +++ b/controller/src/beerocks/master/tasks/client_steering_task.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -146,14 +147,25 @@ void client_steering_task::steer_sta() TASK_LOG(DEBUG) << "SLAVE " << sta_mac << " has an active socket, sending BACKHAUL_ROAM_REQUEST"; auto roam_request = - message_com::create_vs_message( - cmdu_tx, 0); - if (roam_request == nullptr) { - LOG(ERROR) << "Failed building message!"; + cmdu_tx.create(0, ieee1905_1::eMessageType::BACKHAUL_STEERING_REQUEST_MESSAGE); + if (!roam_request) { + LOG(ERROR) << "Failed building BACKHAUL_STEERING_REQUEST_MESSAGE!"; return; } - roam_request->params().bssid = tlvf::mac_from_string(target_bssid); - roam_request->params().channel = database.get_node_channel(target_bssid); + + auto bh_steer_req_tlv = cmdu_tx.addClass(); + if (!bh_steer_req_tlv) { + LOG(ERROR) << "Failed building addClassbackhaul_station_mac() = tlvf::mac_from_string(sta_mac); + bh_steer_req_tlv->target_bssid() = tlvf::mac_from_string(target_bssid); + bh_steer_req_tlv->target_channel_number() = database.get_node_channel(target_bssid); + bh_steer_req_tlv->operating_class() = + database.get_hostap_operating_class(tlvf::mac_from_string(target_bssid)); + bh_steer_req_tlv->finalize(); + son_actions::send_cmdu_to_agent(agent_mac, cmdu_tx, database, radio_mac); // update bml listeners