Skip to content

Commit

Permalink
RDKBDEV-2227 : EasyMesh Controller Phase 2
Browse files Browse the repository at this point in the history
Reason for change: Airties Easymesh team continue to work on new or
missing features, improvements and bug fixes. This commit merges those
changes. A highlight of changes is as follows:
Added rbus implementation of Device.WiFi.DataElements with the
following objects:
    .DataElements.Network,
    .Network.SSID,
    .Network.Device,
    .Device.MultiAPDevice,
    .MultiAPDevice.Backhaul,
    .Backhaul.Stats,
    .Device.CACStatus,
    .CACStatus.CACAvailableChannel,
    .CACStatus.CACNonOccupancyChannel,
    .CACStatus.CACActiveChannel,
    .Device.Radio,
    .Radio.BackhaulSta,
    .Radio.Capabilities,
    .Capabilities.CapableOperatingClassProfile,
    .Radio.MultiAPRadio,
    .Radio.CurrentOperatingClassProfile,
    .Radio.ScanResult,
    .ScanResult.OpClassScan,
    .OpClassScan.ChannelScan,
    .ChannelScan.NeighborBSS,
    .Radio.BSS,
    .BSS.STA,
    .STA.MultiAPSTA,
    .MultiAPSTA.SteeringSummaryStats,
    .MultiAPSTA.SteeringHistory,
    .Radio.UnassociatedSTA,
    .Device.X_AIRTIES_Ethernet,
    .X_AIRTIES_Ethernet.Interface,
    .Interface.Device,
    .Interface.Device.X_AIRTIES_DeviceInfo,
    .X_AIRTIES_DeviceInfo.MemoryStatus,
    .X_AIRTIES_DeviceInfo.ProcessStatus,
with the following methods:
    .Network.SetSSID,
    .Network.Device.X_AIRTIES_UnassociatedStaLinkMetricsQuery,
    .Radio.ChannelScanRequest,
    .MultiAPRadio.ChannelScan,
    .MultiAPRadio.FullScan,
    .BSS.X_AIRTIES_ClientAssocControl,
    .STA.X_AIRTIES_BeaconMetricsQuery,
    .STA.ClientSteer,
    .MultiAPSTA.Disassociate,
and with the following events:
    .DataElements.AssociationEvent,
    .DataElements.DisassociationEvent,
    .DataElements.FailedConnectionEvent
Controller main is moved to ssp, ssp is the main entry point now.
Partially implemented two way synchronization between SSID Profiles and
Device.WiFi. Persistent Storage of RDK (PSM) handling added, config
values and modified profiles are kept there and initialized from stored
values. Topology tree, arraylist, timer, logging, memory allocation,
channel set, cli and subscription related improvements. Switched to
dynamically allocated ssid profiles. Easymesh extensions for ethernet
interfaces, ethernet devices and vitals added. Code refactoring in
various levels, formatting and code clean-up. Improved, cleaned and
fixed autotools files. Updated systemd service file to make emctl start
properly. WiFi Hal version 3 support added, but in order for ssid sync
to work properly and receive notifications, CcspWifiAgent must be up to
date with required patches applied(RDKBDEV-2226). Added log level for
ssp. Local hash(53458421fe5baa2e7e2be2924eafa5c30ca75686)

Known Issues: MAX_OBJECT_NAME_LENGTH of rbus, which is bound to
RTMSG_HEADER_MAX_TOPIC_LENGTH (128) is not enough for some of the
elements of NeighborBSS. So they are truncated as for now. SetSSID
method is not fully implemented regarding Device.WiFi.SSID sync.

Test Procedure: Use recommended setup and check for onboarding of
devices with Easymesh agent. Use CLI or GUI to modify. Wiki pages
will be updated to test Northbound APIs.

Risks: Moderate

Change-Id: I985c10c6b78c3243bded952ac6ac9f20512a2f06
Signed-off-by: Engin Akca <[email protected]>
  • Loading branch information
meycint committed Oct 11, 2023
1 parent 25301bd commit e9ea17c
Show file tree
Hide file tree
Showing 115 changed files with 17,251 additions and 4,250 deletions.
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
.deps
*~
.cproject
.project
.settings
.vscode/
*.code-workspace
build/
dist/
*.o
*.la
*.lo
.deps
.libs
INSTALL
aclocal.m4
Expand All @@ -24,3 +31,4 @@ missing
Makefile
Makefile.in
stamp-h1
ssp/
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ project(em-ctl
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")

find_package(OpenSSL REQUIRED)
find_package(ZLIB REQUIRED)
find_package(LibUbox REQUIRED)
find_package(LibJsonC REQUIRED)

add_compile_definitions(_GNU_SOURCE)

add_subdirectory(source)
2 changes: 2 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
# Licensed under the BSD+Patent License.
##########################################################################

ACLOCAL_AMFLAGS = -I m4

SUBDIRS = source
3 changes: 1 addition & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ dnl Process this file with autoconf to produce a configure script.

dnl AC_PREREQ([2.69])
AC_INIT(EasyMeshController-rdkb, version-1.0)
AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-bzip2 1.9])
AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-bzip2 1.9 subdir-objects])
LT_INIT

dnl subdirectories.
Expand Down Expand Up @@ -48,7 +48,6 @@ AC_FUNC_MALLOC
AC_CHECK_FUNCS([memset strdup strerror asprintf])

PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.0.1f])
PKG_CHECK_MODULES(ZLIB, zlib)
PKG_CHECK_MODULES([JSONC], [json-c >= 0.12])
PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.6.18])

Expand Down
7 changes: 6 additions & 1 deletion scripts/RdkEasyMeshController.service
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,13 @@ Type=simple
WorkingDirectory=/usr/ccsp/easymesh
Environment="Subsys=eRT."
Environment="LOG4C_RCPATH=/etc"
Environment="MAP_CONTROLLER_LOG_LEVEL=error"
Environment="MAP_PLATFORM_LOG_LEVEL=error"
Environment="MAP_IEEE1905_LOG_LEVEL=error"
Environment="MAP_SSP_LOG_LEVEL=error"
Environment="MAP_LOG_OUTPUT=fileonly"
EnvironmentFile=/etc/device.properties
ExecStart=/usr/bin/em_ctl -e
ExecStart=/usr/bin/em_ctl -subsys eRT. -e
Restart=always

StandardOutput=syslog+console
Expand Down
2 changes: 1 addition & 1 deletion source/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@

SUBDIRS = libplatform \
ieee1905 \
ssp \
controller \
ssp \
tools
26 changes: 12 additions & 14 deletions source/controller/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,17 @@
set(EXE em-ctl)

set(EXE_SOURCES
map_ctrl_chan_sel.c
map_ctrl_cli.c
map_ctrl_cmdu_handler.c
map_ctrl_cmdu_rx.c
map_ctrl_cmdu_tx.c
map_ctrl_cmdu_validator.c
map_ctrl_compress.c
map_ctrl_config.c
map_ctrl_emex_tlv_handler.c
map_ctrl_main.c
map_ctrl_metrics_handler.c
map_ctrl_nbapi.c
map_ctrl_onboarding_handler.c
map_ctrl_post_onboarding_handler.c
map_ctrl_tlv_helper.c
Expand All @@ -42,6 +44,12 @@ target_compile_definitions(${EXE}
_GNU_SOURCE
)

target_compile_options(${EXE}
PRIVATE
-Wall
-Werror
)

target_include_directories(${EXE}
PRIVATE
${PROJECT_SOURCE_DIR}/source/controller/include
Expand All @@ -51,19 +59,9 @@ target_include_directories(${EXE}
${PROJECT_SOURCE_DIR}/source/ieee1905/src/factory/interfaces/extensions/map
${PROJECT_SOURCE_DIR}/source/ieee1905/src/common/interfaces
PUBLIC ${LIBUBOX_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}/source/ssp
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/ccsp/custom
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/ccsp/include
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/ccsp/components/common/MessageBusHelper/include
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/ccsp/components/include
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/include
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/include/linux
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/package/slap/include
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/debug_api/include
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/util_api/ansc/include
/opt/home/airties/rpi3b/rdkb/components/opensource/ccsp/CcspCommonLibrary/source/util_api/http/include
/opt/home/airties/rpi3b/build-raspberrypi-rdk-broadband/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/dbus/1.12.16-r0/dbus-1.12.16
/opt/home/airties/rpi3b/build-raspberrypi-rdk-broadband/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/dbus/1.12.16-r0/sysroot-destdir/usr/lib/dbus-1.0/include
PUBLIC ${BSP_SYSROOTS_DIR}/usr/include/ccsp
PUBLIC ${BSP_SYSROOTS_DIR}/usr/include/dbus-1.0
PUBLIC ${BSP_SYSROOTS_DIR}/usr/lib/dbus-1.0/include
)

target_link_libraries(${EXE}
Expand Down
3 changes: 2 additions & 1 deletion source/controller/include/map_ctrl_chan_sel.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#define MAP_CTRL_CHAN_SEL_H_

#include "map_data_model.h"
#include "i1905.h"

/* Update controller preference and send channel selection request */
int map_ctrl_chan_sel_set(map_radio_info_t *radio, bool *acs_enable, map_channel_set_t *acs_channels,
Expand All @@ -22,7 +23,7 @@ int map_ctrl_chan_sel_set_bandwidth(map_radio_info_t *radio, int bandwidth);
*/
int map_ctrl_chan_sel_update(map_radio_info_t *radio);

void map_ctrl_chan_sel_dump(map_printf_cb_t print_cb, bool extended);
void map_ctrl_chan_sel_dump(map_printf_cb_t print_cb, map_ale_info_t *ale, bool extended);

int map_ctrl_chan_sel_init(void);

Expand Down
5 changes: 5 additions & 0 deletions source/controller/include/map_ctrl_cmdu_handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,13 @@ int map_handle_failed_connection(map_ale_info_t *ale, i1905_cmdu_t *cmdu);
########################################################################*/
/* MAP_R3 17.1.48 (type 0x8029) */
int map_handle_proxied_encap_dpp(map_ale_info_t *ale, i1905_cmdu_t *cmdu);

/* MAP_R3 17.1.49 (type 0x8030) */
int map_handle_1905_encap_eapol(map_ale_info_t *ale, i1905_cmdu_t *cmdu);

/* MAP_R3 17.1.52 (type 0x802f) */
int map_handle_chirp_notification(map_ale_info_t *ale, i1905_cmdu_t *cmdu);

/* MAP_R3 17.1.56 (type 0x802a) */
int map_handle_direct_encap_dpp(map_ale_info_t *ale, i1905_cmdu_t *cmdu);

Expand Down
12 changes: 9 additions & 3 deletions source/controller/include/map_ctrl_cmdu_tx.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ int map_send_topology_query(void *args, uint16_t *mid);
int map_send_topology_query_with_al_mac(mac_addr al_mac_addr, char *iface, uint16_t *mid);

/* 1905.1 6.3.3 (type 0x0002) */
int map_send_topology_response(i1905_cmdu_t *recv_cmdu);
int map_send_topology_response(mac_addr src_mac, i1905_cmdu_t *recv_cmdu);

/* 1905.1 6.3.5 (type 0x0005) */
int map_send_link_metric_query(map_ale_info_t *ale, i1905_link_metric_query_tlv_t *tlv, uint16_t *mid);
Expand Down Expand Up @@ -158,10 +158,10 @@ int map_send_vendor_specific_mult_tlvs(void *args, uint16_t *mid);
# MAP R1 CMDU #
########################################################################*/
/* MAP_R1 17.1 (type 0x8000) */
int map_send_ack(i1905_cmdu_t *recv_cmdu);
int map_send_ack(map_ale_info_t *ale, i1905_cmdu_t *recv_cmdu);

/* MAP_R1 17.1 (type 0x8000) */
int map_send_ack_sta_error(i1905_cmdu_t *recv_cmdu, mac_addr *sta_macs, int sta_mac_nr, uint8_t error_code);
int map_send_ack_sta_error(map_ale_info_t *ale, i1905_cmdu_t *recv_cmdu, mac_addr *sta_macs, int sta_mac_nr, uint8_t error_code);

/* MAP_R2 17.1.6 (type 0x8001) - args is of type map_ale_info_t */
int map_send_ap_capability_query(void *args, uint16_t *mid);
Expand Down Expand Up @@ -226,12 +226,18 @@ int map_send_backhaul_sta_capability_query(void *args, uint16_t *mid);
/* MAP_R3 17.1.48 (type 0x8029) */
int map_send_proxied_encap_dpp(map_ale_info_t *ale, map_1905_encap_dpp_tlv_t *encap_tlv, map_dpp_chirp_value_tlv_t *chirp_tlv, uint16_t *mid);

/* MAP_R3 17.1.49 (type 0x8030) */
int map_send_1905_encap_eapol(map_ale_info_t *ale, map_1905_encap_eapol_tlv_t *encap_eapol_tlv, uint16_t *mid);

/* MAP_R3 17.1.51 (type 0x801D) */
int map_send_dpp_cce_indication(map_ale_info_t *ale, uint8_t advertise, uint16_t *mid);

/* MAP_R3 17.1.52 (type 0x802F) */
int map_send_dpp_chirp_notification(map_dpp_chirp_value_tlv_t *chirp_value_tlv_list, int num_chirp_tlv, uint16_t *mid);

/* MAP_R3 17.1.56 (type 0x802A) */
int map_send_direct_encap_dpp(map_ale_info_t *ale, map_dpp_message_tlv_t *dpp_message_tlv, uint16_t *mid);

/*#######################################################################
# RAW #
########################################################################*/
Expand Down
5 changes: 5 additions & 0 deletions source/controller/include/map_ctrl_cmdu_validator.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,13 @@ int map_validate_failed_connection(map_ale_info_t *ale, i1905_cmdu_t *cmdu);
########################################################################*/
/* MAP_R3 17.1.48 (type 0x8029) */
int map_validate_proxied_encap_dpp(map_ale_info_t *ale, i1905_cmdu_t *cmdu);

/* MAP_R3 17.1.49 (type 0x8030) */
int map_validate_1905_encap_eapol(map_ale_info_t *ale, i1905_cmdu_t *cmdu);

/* MAP_R3 17.1.52 (type 0x802f) */
int map_validate_chirp_notification(map_ale_info_t *ale, i1905_cmdu_t *cmdu);

/* MAP_R3 17.1.56 (type 0x802a) */
int map_validate_direct_encap_dpp(UNUSED map_ale_info_t *ale, i1905_cmdu_t *cmdu);
#endif /* MAP_CTRL_CMDU_VALIDATOR_H_ */
1 change: 1 addition & 0 deletions source/controller/include/map_ctrl_defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

/* Timer ID's */
#define TOPOLOGY_QUERY_TIMER_ID "TOPOLOGY-QUERY-TIMER"
#define DELAYED_TOPOLOGY_QUERY_TIMER_ID "DELAYED-TOPOLOGY-QUERY-TIMER"
#define LINK_METRIC_QUERY_TIMER_ID "LINK-METRIC-TIMER"
#define TOPOLOGY_DISCOVERY_TIMER_ID "TOPOLOGY-DISOVERY-TIMER"
#define LLDP_BRIDGE_DISCOVERY_TIMER_ID "LLDP-BRIDGE-DISCOVERY-TIMER"
Expand Down
37 changes: 37 additions & 0 deletions source/controller/include/map_ctrl_emex_tlv_handler.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* Copyright (c) 2019-2022 AirTies Wireless Networks
*
* Licensed under the BSD+Patent License.
*/

#ifndef MAP_CTRL_EMEX_TLV_HANDLER_H_
#define MAP_CTRL_EMEX_TLV_HANDLER_H_

#include "map_data_model.h"
#include "i1905.h"

/* Feature IDs reported in Feature Profile */
enum emex_feature_ids {
MAP_EMEX_FEATURE_UNUSED = 0x0000,
MAP_EMEX_FEATURE_DEVICE_METRICS, /* 0x0001 */
MAP_EMEX_FEATURE_IEEE1905_1_14, /* 0x0002 */
MAP_EMEX_FEATURE_DEVICE_INFO, /* 0x0003 */
MAP_EMEX_FEATURE_ETH_STATS, /* 0x0004 */
};

map_emex_common_feature_list_t *controller_get_emex_common_feature_list(void);
bool map_emex_agent_is_feature_supported(map_ale_info_t *ale, uint16_t id);
bool map_emex_common_is_feature_supported(uint16_t id);

bool map_emex_is_valid_tlv(i1905_vendor_specific_tlv_t* vendor_tlv);
int8_t map_emex_parse_tlv(map_ale_info_t* ale, i1905_vendor_specific_tlv_t* vendor_tlv);
int8_t map_emex_get_emex_tlv(map_ale_info_t *ale, uint16_t emex_tlv_type,
i1905_vendor_specific_tlv_t *vendor_specific_tlv);

int map_emex_handle_cmdu_pre(map_ale_info_t *ale, i1905_cmdu_t *cmdu);
int map_emex_handle_cmdu_post(map_ale_info_t *ale, i1905_cmdu_t *cmdu);

int8_t map_emex_init(void);
void map_emex_fini(void);

#endif /* MAP_CTRL_EMEX_TLV_HANDLER_H_ */
24 changes: 24 additions & 0 deletions source/controller/include/map_ctrl_nbapi.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Copyright (c) 2023 AirTies Wireless Networks
*
* Licensed under the BSD+Patent License.
*/

#ifndef MAP_CTRL_NBAPI_H_
#define MAP_CTRL_NBAPI_H_

#include "map_data_model.h"

typedef enum {
NB_OK = 0, /**< success */
NB_EFAIL, /**< failure */
NB_ENOMEM, /**< out of memory */
NB_EINVAL, /**< invalid arguments */
NB_ENOENT, /**< does not exist */
} nb_retcode_t;

int map_ctrl_nbapi_init(void);

void map_ctrl_nbapi_fini(void);

#endif /* MAP_CTRL_NBAPI_H_ */
18 changes: 14 additions & 4 deletions source/controller/include/map_ctrl_onboarding_handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,10 @@ void map_onboarding_handler_fini(void);
* @param
* al_mac - AL MAC address of the agent
* recv_iface - Receiving interface Name
* easymesh_plus - easymesh_plus agent indication
* @return The reference to map_ale_info_t on success otherwise NULL.
*/
map_ale_info_t* map_handle_new_agent_onboarding(uint8_t *al_mac, char* recv_iface);
map_ale_info_t* map_handle_new_agent_onboarding(uint8_t *al_mac, char* recv_iface, bool easymesh_plus);

/** @brief This API prepares the controller for new radio onboarding
*
Expand Down Expand Up @@ -103,11 +104,20 @@ uint16_t map_get_dead_agent_detection_interval();
*/
uint16_t map_get_topology_query_retry_interval_sec();

/** @brief Reset topology timer interval
/** @brief (Re)-start sending topology discovery on an interface
*
* @param None
* @param
* ifname - interface name
* @return None
*/
void map_restart_topology_discovery(const char *ifname);

/** @brief Stop sending topology discovery on an interface
*
* @param
* ifname - interface name
* @return None
*/
void map_restart_topology_discovery(void);
void map_stop_topology_discovery(const char *ifname);

#endif /* MAP_CTRL_ONBOARDING_HANDLER_H_ */
4 changes: 2 additions & 2 deletions source/controller/include/map_ctrl_tlv_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
int map_get_bridging_cap_tlv(i1905_device_bridging_cap_tlv_t *bridging_cap_tlv);
void map_free_bridging_cap_tlv(i1905_device_bridging_cap_tlv_t *bridging_cap_tlv);

int map_get_1905_neighbor_tlvs(i1905_neighbor_device_list_tlv_t *neighbor_1905_tlvs, int *neighbor_count);
void map_free_1905_neighbor_tlv(i1905_neighbor_device_list_tlv_t *neighbor_1905_tlv);
int map_get_1905_neighbor_tlvs(i1905_neighbor_device_list_tlv_t **tlvs, size_t *tlvs_nr);
void map_free_1905_neighbor_tlv(i1905_neighbor_device_list_tlv_t *tlvs, size_t tlvs_nr);

map_error_code_tlv_t *map_get_error_code_tlv(mac_addr sta_mac, uint8_t reason_code);

Expand Down
13 changes: 13 additions & 0 deletions source/controller/include/map_ctrl_tlv_parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ int map_parse_neighbor_device_list_tlv(map_ale_info_t *ale, i1905_neighbor_devic
/*#######################################################################
# MAP R1 TLV HANDLERS #
########################################################################*/
/* MAP_R1 17.2.1 */
int map_parse_ap_supported_service_tlv(map_ale_info_t *ale, map_supported_service_tlv_t* tlv, bool *is_controller, bool *is_agent, bool *is_em_plus);

/* MAP_R1 17.2.4 */
int map_parse_ap_operational_bss_tlv(map_ale_info_t *ale, map_ap_operational_bss_tlv_t* tlv);

Expand Down Expand Up @@ -124,12 +127,22 @@ int map_parse_backhaul_sta_radio_capability_tlv(map_ale_info_t *ale, map_backhau
########################################################################*/
/* MAP_R3 17.2.72 */
int map_parse_ap_wifi6_cap_tlv(map_ale_info_t *ale, map_ap_wifi6_cap_tlv_t *tlv);

/* MAP_R3 17.2.73 */
int map_parse_assoc_wifi6_sta_status_tlv(map_ale_info_t *ale, map_assoc_wifi6_sta_status_tlv_t *tlv);

/* MAP_R3 17.2.76 */
int map_parse_device_inventory_tlv(map_ale_info_t *ale, map_device_inventory_tlv_t *tlv);

/* MAP_R3 17.2.79 */
int map_parse_1905_encap_dpp_tlv(map_ale_info_t *ale, map_1905_encap_dpp_tlv_t *tlv);

/* MAP_R3 17.2.80 */
int map_parse_1905_encap_eapol_tlv(map_ale_info_t *ale, map_1905_encap_eapol_tlv_t *tlv);

/* MAP_R3 17.2.83 */
int map_parse_dpp_chirp_value_tlv(map_ale_info_t *ale, map_dpp_chirp_value_tlv_t *tlv);

/* MAP_R3 17.2.86 */
int map_parse_dpp_message_tlv(map_ale_info_t *ale, map_dpp_message_tlv_t *tlv);

Expand Down
13 changes: 12 additions & 1 deletion source/controller/include/map_ctrl_topology_tree.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,22 @@ void map_build_topology_tree(map_ale_info_t *ale, i1905_neighbor_device_list_tlv
* This function registers to a retry timer to send topology query
* until we get a topology response
*
* @param ale pointer to ALE node to check for local agent
* @param ale pointer to ALE node
* @return The 0- Expired , 1 - Query required
*/
void map_register_topology_query_retry(map_ale_info_t *ale);

/** @brief This function create a retry timer to send topology query after a delay
*
* This function registers to a retry timer to send topology query after a delay
* until we get a topology response
*
* @param ale pointer to ALE node
* @param delay_sec delay in seconds
* @return The 0- Expired , 1 - Query required
*/
void map_register_delayed_topology_query_retry(map_ale_info_t *ale, uint32_t delay_sec);

/** @brief This function will remove the dead ALE from controller DM
*
* This API will cleanup all the resources assocciated with the ALE.
Expand Down
Loading

0 comments on commit e9ea17c

Please sign in to comment.