Skip to content

RDK-55826: Implement T2 Eventing in Network Manager Plugin#326

Merged
bpunnuru merged 2 commits into
support/2.0.0from
topic/RDKEMW-21515
Jul 15, 2026
Merged

RDK-55826: Implement T2 Eventing in Network Manager Plugin#326
bpunnuru merged 2 commits into
support/2.0.0from
topic/RDKEMW-21515

Conversation

@gururaajar

Copy link
Copy Markdown
Contributor

Reason for Change: Added T2 marker for the identified T1 telemetry markers
Test Procedure: Check whether the T2 events are received in the elk.
Priority: P1
Risks: Medium
Signed-off-by: Gururaaja ESRGururaja_ErodeSriranganRamlingham@comcast.com

* RDK-55826: Implement T2 Eventing in Network Manager Plugin

Reason for Change: Added T2 marker for the identified T1 telemetry markers
Test Procedure: Check whether the T2 events are received in the elk.
Priority: P1
Risks: Medium
Signed-off-by: Gururaaja ESR<Gururaja_ErodeSriranganRamlingham@comcast.com>

* RDK-55826: Implement T2 Eventing in Network Manager Plugin

Reason for Change: Added T2 marker for the identified T1 telemetry markers
Test Procedure: Check whether the T2 events are received in the elk.
Priority: P1
Risks: Medium
Signed-off-by: Gururaaja ESR<Gururaja_ErodeSriranganRamlingham@comcast.com>

---------

Signed-off-by: Gururaaja ESR<Gururaja_ErodeSriranganRamlingham@comcast.com>
* RDKEMW-14959: Implement T2 Eventing in Network Manager Plugin

Reason for Change: Added T2 marker for the identified T1 telemetry markers
Test Procedure: Check whether the T2 events are received in the elk.
Priority: P1
Risks: Medium
Signed-off-by: Gururaaja ESR<Gururaja_ErodeSriranganRamlingham@comcast.com>

* RDKEMW-14959: Implement T2 Eventing in Network Manager Plugin

Reason for Change: Added T2 marker for the identified T1 telemetry markers
Test Procedure: Check whether the T2 events are received in the elk.
Priority: P1
Risks: Medium
Signed-off-by: Gururaaja ESR<Gururaja_ErodeSriranganRamlingham@comcast.com>

---------

Signed-off-by: Gururaaja ESR<Gururaja_ErodeSriranganRamlingham@comcast.com>
Copilot AI review requested due to automatic review settings July 15, 2026 17:44
@gururaajar
gururaajar requested a review from a team as a code owner July 15, 2026 17:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 adds Telemetry (T2) eventing to the NetworkManager plugin and related tools/tests, introducing a build-time USE_TELEMETRY option and emitting new T2 markers for key network state changes (public IP, interface/internet status, WiFi status, gateway MAC).

Changes:

  • Add USE_TELEMETRY CMake option, wire in FindT2.cmake include/link settings, and initialize T2 in the plugin.
  • Emit new telemetry events for public IP, interface/internet/WiFi status, and gateway MAC (eth/wlan).
  • Update L2 tests and mocks to wrap additional libnm/curl symbols needed by the new telemetry-enabled code paths.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
CMakeLists.txt Adds USE_TELEMETRY option, find_package(T2), and compile definition.
plugin/CMakeLists.txt Adds T2 include dirs and links T2 libraries into plugin targets when enabled.
plugin/NetworkManagerImplementation.h Declares logTelemetry() helper on the implementation.
plugin/NetworkManagerImplementation.cpp Initializes T2 and emits T2 events for public IP, interface/internet/WiFi status.
plugin/gnome/NetworkManagerGnomeEvents.cpp Emits T2 events for gateway MAC on activated WiFi/Ethernet states.
plugin/gnome/NetworkManagerGnomeUtils.h Declares helpers to resolve gateway MAC.
plugin/gnome/NetworkManagerGnomeUtils.cpp Implements gateway MAC resolution via /proc/net/arp + libnm IPv4 gateway.
plugin/gnome/NetworkManagerGnomeWIFI.cpp Removes an extraneous blank line (format cleanup).
tools/upnp/CMakeLists.txt Switches telemetry include usage to ${T2_INCLUDE_DIRS} under USE_TELEMETRY.
tools/plugincli/CMakeLists.txt Links GDBus CLI tool with ${LIBNM_LIBRARIES}.
tests/l2Test/libnm/CMakeLists.txt Adds CurlWraps + wraps curl/libnm symbols for L2 test executable.
tests/l2Test/libnm/l2_test_libnmproxyEvent.cpp Sets up Curl wraps mock and updates device-state tests to use real NMDevice instances.
tests/mocks/LibnmWraps.h Extends wrapper interface with nm_device_get_ip4_config.
tests/mocks/LibnmWraps.cpp Adds __wrap_nm_device_get_ip4_config and forwarding method.
tests/mocks/LibnmWrapsMock.h Adds mock method/default behavior for nm_device_get_ip4_config.

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

Comment on lines +24 to +27
#if USE_TELEMETRY
#include "NetworkManagerJsonEnum.h"
#include <telemetry_busmessage_sender.h>
#endif
Comment on lines +168 to 172
-Wl,-wrap,curl_multi_perform
-Wl,-wrap,curl_multi_info_read
-Wl,-wrap,curl_multi_poll
-Wl,-wrap,nm_device_get_ip4_config
)
@bpunnuru
bpunnuru merged commit 8c46f63 into support/2.0.0 Jul 15, 2026
14 of 15 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 15, 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.

3 participants