Skip to content

RDKEMW-15309 : Improvements in Wifi Connection Processing in Network Manager plugin#300

Merged
bpunnuru merged 37 commits intodevelopfrom
topic/RDK-60454
Apr 17, 2026
Merged

RDKEMW-15309 : Improvements in Wifi Connection Processing in Network Manager plugin#300
bpunnuru merged 37 commits intodevelopfrom
topic/RDK-60454

Conversation

@cmuhammedrafi
Copy link
Copy Markdown
Contributor

No description provided.

@cmuhammedrafi cmuhammedrafi requested a review from a team as a code owner April 9, 2026 13:51
Copilot AI review requested due to automatic review settings April 9, 2026 13:51
@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/networkmanager/300/rdkcentral/networkmanager

  • Commit: 47c331e

Report detail: gist'

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds support for connecting to a saved WiFi connection by SSID and extends WiFi connection handling with optional BSSID + frequency selection, along with corresponding JSON-RPC, interface, events, docs, and tests updates.

Changes:

  • Introduce ConnectToKnownSSID across interface, implementations (RDK + GNOME), and JSON-RPC registration.
  • Extend WiFiConnect inputs to accept optional bssid and frequency, and include BSSID in scan results events.
  • Update/expand L2 tests and improve object-path/memory handling in the GNOME WiFi implementation.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
tests/mocks/INetworkManagerMock.h Adds mock for new ConnectToKnownSSID API.
tests/l2Test/libnm/l2_test_libnmproxyWifi.cpp Adds coverage for wrong BSSID, known-SSID connect, and extra AP property mocking.
tests/l2Test/libnm/l2_test_libnmproxyEvent.cpp Adjusts scan/event test setup to include device list and BSSID mocking.
plugin/rdk/NetworkManagerRDKProxy.cpp Implements ConnectToKnownSSID as unavailable for RDK backend.
plugin/gnome/NetworkManagerGnomeWIFI.h Adds GNOME connectToKnownSSID and changes m_objectPath ownership type.
plugin/gnome/NetworkManagerGnomeWIFI.cpp Implements known-SSID connect; adds BSSID/frequency handling and various lifecycle fixes.
plugin/gnome/NetworkManagerGnomeUtils.h Declares BSSID validator helper.
plugin/gnome/NetworkManagerGnomeUtils.cpp Implements BSSID format validation; adjusts nmcli logging domains.
plugin/gnome/NetworkManagerGnomeProxy.cpp Wires ConnectToKnownSSID into GNOME implementation; changes WiFiConnect behavior/validation.
plugin/gnome/NetworkManagerGnomeEvents.cpp Adds BSSID to scan results and strengthens scan callback checks.
plugin/NetworkManagerJsonRpc.cpp Registers ConnectToKnownSSID; parses bssid/frequency for WiFiConnect.
plugin/NetworkManagerImplementation.h Changes process monitor interval constant and adds interface method.
plugin/NetworkManager.h Exposes JSON-RPC handler declaration for ConnectToKnownSSID.
plugin/CMakeLists.txt Whitespace-only formatting changes.
interface/INetworkManager.h Adds WIFIFrequency, bssid/frequency to connect struct, and new interface method.
docs/NetworkManagerPlugin.md Documents new RPC + new parameters and adds BSSID to scan results event docs.
definition/NetworkManager.json Adds schema for ConnectToKnownSSID, makes WiFiConnect params optional, and adds BSSID to event schema.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugin/gnome/NetworkManagerGnomeProxy.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread interface/INetworkManager.h
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp Outdated
Comment thread plugin/gnome/NetworkManagerGnomeUtils.cpp Outdated
Comment thread plugin/gnome/NetworkManagerGnomeEvents.cpp
Comment thread plugin/NetworkManagerImplementation.h Outdated
Comment thread plugin/NetworkManagerJsonRpc.cpp
Comment thread docs/NetworkManagerPlugin.md Outdated
Comment thread plugin/gnome/NetworkManagerGnomeEvents.cpp Outdated
Comment thread plugin/gnome/NetworkManagerGnomeProxy.cpp
Comment thread plugin/gnome/NetworkManagerGnomeProxy.cpp
Comment thread plugin/gnome/NetworkManagerGnomeUtils.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeEvents.cpp Outdated
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h
Copilot AI review requested due to automatic review settings April 14, 2026 08:27
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 18 out of 18 changed files in this pull request and generated 8 comments.

Comments suppressed due to low confidence (1)

plugin/gnome/NetworkManagerGnomeWIFI.cpp:1162

  • If AccessPoint is null (SSID not found) and persist is false, the function continues and later calls APIs like nm_access_point_connection_valid(AccessPoint, ...) / nm_object_get_path(NM_OBJECT(AccessPoint)) with a null AccessPoint, which is undefined behavior. Return failure immediately when the SSID isn’t found and you’re not going to add/persist it, or add explicit null-guards before any AccessPoint use.
            AccessPoint = findMatchingSSID(ApList, ssidInfo);
            if(AccessPoint == NULL)
            {
                NMLOG_WARNING("SSID '%s' not found !", ssidInfo.ssid.c_str());
                // if(_instance != nullptr)
                //     _instance->ReportWiFiStateChange(Exchange::INetworkManager::WIFI_STATE_SSID_NOT_FOUND);
                /* ssid not found in scan list so add to known ssid it will do a scanning and connect */
                if(ssidInfo.persist)
                {
                    if(addToKnownSSIDs(ssidInfo))
                    {
                        NMLOG_DEBUG("Adding to known ssid '%s' ", ssidInfo.ssid.c_str());
                        deleteClientConnection();
                        return activateKnownConnection(nmUtils::wlanIface(), ssidInfo.ssid);
                    }
                    else
                    {
                        deleteClientConnection();
                        return false;
                    }
                }
            }

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeUtils.cpp
Comment thread docs/NetworkManagerPlugin.md
Comment thread definition/NetworkManager.json
Comment thread docs/NetworkManagerPlugin.md
Comment thread plugin/gnome/NetworkManagerGnomeEvents.cpp
Comment thread plugin/gnome/NetworkManagerGnomeProxy.cpp
Copilot AI review requested due to automatic review settings April 17, 2026 04:53
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 18 out of 18 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugin/gnome/NetworkManagerGnomeUtils.cpp
Comment thread docs/NetworkManagerPlugin.md
Comment thread definition/NetworkManager.json
Comment thread plugin/rdk/NetworkManagerRDKProxy.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
@bpunnuru bpunnuru merged commit 6c53b2d into develop Apr 17, 2026
20 of 21 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants