wifi: Add radio_id and frequency to StaLinkLayerLinkStats
Bug: 258013268
Test: m android.hardware.wifi-update-api
Change-Id: I725144033cd33e59c201e459e036c2008a8cca58
diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/StaLinkLayerLinkStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/StaLinkLayerLinkStats.aidl
index 714bba8..2bc3254 100644
--- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/StaLinkLayerLinkStats.aidl
+++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/StaLinkLayerLinkStats.aidl
@@ -35,6 +35,8 @@
@VintfStability
parcelable StaLinkLayerLinkStats {
int linkId;
+ int radioId;
+ int frequencyMhz;
int beaconRx;
int avgRssiMgmt;
android.hardware.wifi.StaLinkLayerIfacePacketStats wmeBePktStats;
diff --git a/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl b/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
index cf1a867..d8d7975 100644
--- a/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
+++ b/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
@@ -32,6 +32,15 @@
*/
int linkId;
/**
+ * Radio identifier on which the link is currently operating. Refer
+ * |StaLinkLayerRadioStats.radioId|.
+ */
+ int radioId;
+ /**
+ * Frequency of the link in Mhz.
+ */
+ int frequencyMhz;
+ /**
* Number of beacons received from the connected AP on the link.
*/
int beaconRx;
diff --git a/wifi/aidl/default/aidl_struct_util.cpp b/wifi/aidl/default/aidl_struct_util.cpp
index fe7579b..3087d66 100644
--- a/wifi/aidl/default/aidl_struct_util.cpp
+++ b/wifi/aidl/default/aidl_struct_util.cpp
@@ -951,6 +951,8 @@
for (const auto& link : legacy_ml_stats.links) {
StaLinkLayerLinkStats linkStats = {};
linkStats.linkId = link.stat.link_id;
+ linkStats.radioId = link.stat.radio;
+ linkStats.frequencyMhz = link.stat.frequency;
linkStats.beaconRx = link.stat.beacon_rx;
linkStats.avgRssiMgmt = link.stat.rssi_mgmt;
linkStats.wmeBePktStats.rxMpdu = link.stat.ac[legacy_hal::WIFI_AC_BE].rx_mpdu;
diff --git a/wifi/aidl/default/tests/aidl_struct_util_unit_tests.cpp b/wifi/aidl/default/tests/aidl_struct_util_unit_tests.cpp
index c2de012..df788b8 100644
--- a/wifi/aidl/default/tests/aidl_struct_util_unit_tests.cpp
+++ b/wifi/aidl/default/tests/aidl_struct_util_unit_tests.cpp
@@ -125,6 +125,9 @@
link.peers.push_back(legacy_hal::WifiPeerInfo{});
link.peers.push_back(legacy_hal::WifiPeerInfo{});
link.stat.beacon_rx = rand();
+ link.stat.link_id = rand() % 15;
+ link.stat.radio = rand() % 4;
+ link.stat.frequency = rand();
link.stat.rssi_mgmt = rand();
link.stat.ac[legacy_hal::WIFI_AC_BE].rx_mpdu = rand();
link.stat.ac[legacy_hal::WIFI_AC_BE].tx_mpdu = rand();
@@ -227,6 +230,8 @@
int l = 0;
for (legacy_hal::LinkStats& link : legacy_ml_stats.links) {
EXPECT_EQ(link.stat.link_id, (uint8_t)converted.iface.links[l].linkId);
+ EXPECT_EQ(link.stat.radio, converted.iface.links[l].radioId);
+ EXPECT_EQ(link.stat.frequency, (uint32_t)converted.iface.links[l].frequencyMhz);
EXPECT_EQ(link.stat.beacon_rx, (uint32_t)converted.iface.links[l].beaconRx);
EXPECT_EQ(link.stat.rssi_mgmt, converted.iface.links[l].avgRssiMgmt);
EXPECT_EQ(link.stat.ac[legacy_hal::WIFI_AC_BE].rx_mpdu,