rdkcentral / RdkEasyMeshController

Manages the operation of the EasyMesh network, controls and coordinates the activity of agents within the network
Other
10 stars 14 forks source link

RDKBDEV-2227 : EasyMesh Controller Phase 2 #5

Closed meycint closed 11 months ago

meycint commented 12 months ago

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

rdkcmf-jenkins commented 12 months ago

https://jenkins.code.rdkcentral.com/job/github-triggered/40630/ started

rdkcmf-jenkins commented 12 months ago

https://jenkins.code.rdkcentral.com/job/build-component/79576/ started.

rdkcmf-jenkins commented 12 months ago

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/7167/ started

rdkcmf-jenkins commented 12 months ago

Sanity tests for ['RPI4 GW BB'] added. https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/26944/

rdkcmf-jenkins commented 12 months ago

Sanity tests for ['TURRIS GW BB'] added. https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/26945/