Skip to content

RDK-61444 : Network Manager Plugin to support Scan Specific SSID#306

Open
jincysam87 wants to merge 61 commits into
rdkcentral:developfrom
jincysam87:feature/RDK-61444-1
Open

RDK-61444 : Network Manager Plugin to support Scan Specific SSID#306
jincysam87 wants to merge 61 commits into
rdkcentral:developfrom
jincysam87:feature/RDK-61444-1

Conversation

@jincysam87
Copy link
Copy Markdown
Contributor

Reason for change: Support to scan multiple SSIDs
Test Procedure: Test wifi scan API with multiple SSIDs
Risks: Low
Signed-off-by: jincysaramma_sam@comcast.com

Copilot AI review requested due to automatic review settings May 8, 2026 15:59
@jincysam87 jincysam87 requested a review from a team as a code owner May 8, 2026 15:59
@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/306/rdkcentral/networkmanager

  • Commit: 3a19acc

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

This PR updates the GNOME NetworkManager WiFi scan path to support scanning with multiple SSID filters (instead of a single optional SSID string), aligning the plugin with the requirement to “scan multiple SSIDs”.

Changes:

  • Updated wifiScanRequest API to accept a std::vector<std::string> of SSIDs to filter.
  • Built a GVariant aay SSID list for nm_device_wifi_request_scan_options_async() when filters are provided; otherwise falls back to a normal scan.
  • Updated the GNOME proxy to pass the SSID filter list through to the WiFi manager.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

File Description
plugin/gnome/NetworkManagerGnomeWIFI.h Changes wifiScanRequest signature to take a vector of SSIDs.
plugin/gnome/NetworkManagerGnomeWIFI.cpp Implements building a multi-SSID scan options payload and triggers filtered vs unfiltered scan.
plugin/gnome/NetworkManagerGnomeProxy.cpp Passes the SSID filter list to the updated scan request API.

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

Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h Outdated
bool wifiConnectedSSIDInfo(Exchange::INetworkManager::WiFiSSIDInfo &ssidinfo);
bool wifiConnect(const Exchange::INetworkManager::WiFiConnectTo &ssidInfo);
bool wifiScanRequest(std::string ssidReq = "");
bool wifiScanRequest(std::vector<std::string> ssidsToFilter = {});
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp Outdated
if(!ssidsToFilter.empty())
{
NMLOG_INFO("starting wifi scanning .. %s", ssidReq.c_str());
NMLOG_INFO("Starting wifi scanning for %d SSIDs:", ssidsToFilter.size());
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeProxy.cpp
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 8, 2026 16:05
@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/306/rdkcentral/networkmanager

  • Commit: ec5d3a2

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h Outdated
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h Outdated
bool wifiConnectedSSIDInfo(Exchange::INetworkManager::WiFiSSIDInfo &ssidinfo);
bool wifiConnect(const Exchange::INetworkManager::WiFiConnectTo &ssidInfo);
bool wifiScanRequest(std::string ssidReq = "");
bool wifiScanRequest(std::vector<std::string> ssidsToFilter = {});
if(!ssidsToFilter.empty())
{
NMLOG_INFO("starting wifi scanning .. %s", ssidReq.c_str());
NMLOG_INFO("Starting wifi scanning for %d SSIDs:", ssidsToFilter.size());
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 8, 2026 16:13
@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/306/rdkcentral/networkmanager

  • Commit: 3aba5bb

Report detail: gist'

@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/306/rdkcentral/networkmanager

  • Commit: 7032c46

Report detail: gist'

@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/306/rdkcentral/networkmanager

  • Commit: 66a899a

Report detail: gist'

@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/306/rdkcentral/networkmanager

  • Commit: 66a899a

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

Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.

Comment thread plugin/rdk/NetworkManagerRDKProxy.cpp Outdated
Comment thread plugin/NetworkManagerJsonRpc.cpp
Comment thread legacy/LegacyWiFiManagerAPIs.cpp
Comment thread legacy/LegacyWiFiManagerAPIs.cpp
@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/306/rdkcentral/networkmanager

  • Commit: 2f43fb2

Report detail: gist'

@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/306/rdkcentral/networkmanager

  • Commit: 2f43fb2

Report detail: gist'

Copilot AI review requested due to automatic review settings May 18, 2026 14: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 14 out of 14 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (3)

plugin/NetworkManagerJsonRpc.cpp:670

  • This malformed frequency-array path also returns with rc still set to Core::ERROR_GENERAL. Set rc = Core::ERROR_BAD_REQUEST before returning so non-numeric entries are reported as invalid request parameters rather than generic failures.
					else
					{
						NMLOG_ERROR("Unexpected variant type in frequency array.");
	                    returnJson(rc);

legacy/LegacyWiFiManagerAPIs.cpp:662

  • This malformed frequency-array path also returns with rc still set to Core::ERROR_GENERAL. Set rc = Core::ERROR_BAD_REQUEST before returning so non-numeric entries are reported as invalid request parameters rather than generic failures.
					else
					{
						NMLOG_ERROR("Unexpected variant type in frequency array.");
	                    returnJson(rc);

plugin/gnome/gdbus/NetworkManagerGdbusProxy.cpp:223

  • The GDBus backend now accepts the SSID/frequency iterators but still ignores them and always starts an unfiltered scan while returning success. With the updated API/docs, callers requesting specific SSIDs or bands will receive unfiltered results on this backend. Populate the same filter state used by event filtering or return a not-supported/bad-request status when filters are provided.
        uint32_t NetworkManagerImplementation::StartWiFiScan(IWIFIFrequencyIterator* const frequencies /* @in */, IStringIterator* const ssids/* @in */)
        {
            uint32_t rc = Core::ERROR_GENERAL;
            _nmGdbusEvents->setwifiScanOptions(true); /* Enable event posting */
            if(_nmGdbusClient->startWifiScan())

Comment thread legacy/LegacyWiFiManagerAPIs.cpp
Comment thread plugin/NetworkManagerJsonRpc.cpp
Comment thread legacy/LegacyWiFiManagerAPIs.cpp
@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/306/rdkcentral/networkmanager

  • Commit: 35b7986

Report detail: gist'

@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/306/rdkcentral/networkmanager

  • Commit: 0eddda2

Report detail: gist'

Copilot AI review requested due to automatic review settings May 18, 2026 16:16
@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/306/rdkcentral/networkmanager

  • Commit: b69b514

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

Copilot reviewed 16 out of 16 changed files in this pull request and generated 3 comments.

Comment thread definition/NetworkManager.json
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/NetworkManagerJsonRpc.cpp
@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/306/rdkcentral/networkmanager

  • Commit: a4b96ec

Report detail: gist'

Copilot AI review requested due to automatic review settings May 18, 2026 17:39
@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/306/rdkcentral/networkmanager

  • Commit: 534dd6b

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

Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.

Comment thread tests/l2Test/legacy/l2_test_LegacyPlugin_WiFiManagerAPIs.cpp Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 18, 2026 17:45
@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/306/rdkcentral/networkmanager

  • Commit: 528a17e

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

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

Comments suppressed due to low confidence (1)

plugin/gnome/gdbus/NetworkManagerGdbusProxy.cpp:223

  • This backend accepts the new frequency iterator (and the existing SSID iterator) but still ignores both before starting the scan. In an ENABLE_GNOME_GDBUS build, filtered StartWiFiScan requests will return success while emitting unfiltered results; either apply the iterators to the scan/result filtering path or return a not-supported/error status when filters are provided.
        uint32_t NetworkManagerImplementation::StartWiFiScan(IWIFIFrequencyIterator* const frequencies /* @in */, IStringIterator* const ssids/* @in */)
        {
            uint32_t rc = Core::ERROR_GENERAL;
            _nmGdbusEvents->setwifiScanOptions(true); /* Enable event posting */
            if(_nmGdbusClient->startWifiScan())

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants