RDK-55826: Implement T2 Eventing in Network Manager Plugin#326
Merged
Conversation
* 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>
bpunnuru
approved these changes
Jul 15, 2026
Contributor
There was a problem hiding this comment.
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_TELEMETRYCMake option, wire inFindT2.cmakeinclude/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 | ||
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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