From 845e7c13fe46585ecbd9c2569c832790330ced4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Walstr=C3=B6m?= Date: Sat, 7 Feb 2026 23:16:54 +0100 Subject: [PATCH] yanger: Wi-Fi: Add missing radio component in operational --- board/common/rootfs/usr/libexec/infix/iw.py | 8 ++++++++ src/statd/python/yanger/ietf_interfaces/wifi.py | 11 +++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/board/common/rootfs/usr/libexec/infix/iw.py b/board/common/rootfs/usr/libexec/infix/iw.py index 035dd53f..8dfac86e 100755 --- a/board/common/rootfs/usr/libexec/infix/iw.py +++ b/board/common/rootfs/usr/libexec/infix/iw.py @@ -290,6 +290,14 @@ def parse_interface_info(ifname): if power_match: result['txpower'] = float(power_match.group(1)) + # wiphy index -> phy/radio name + elif stripped.startswith('wiphy '): + try: + wiphy_idx = int(stripped.split()[1]) + result['phy'] = normalize_phy_name(f'phy{wiphy_idx}') + except (ValueError, IndexError): + pass + return result diff --git a/src/statd/python/yanger/ietf_interfaces/wifi.py b/src/statd/python/yanger/ietf_interfaces/wifi.py index ccf092d1..517b23b9 100644 --- a/src/statd/python/yanger/ietf_interfaces/wifi.py +++ b/src/statd/python/yanger/ietf_interfaces/wifi.py @@ -93,10 +93,17 @@ def wifi(ifname): info = get_iw_info(ifname) mode = info.get('iftype', '').lower() + result = {} + + if info.get('phy'): + result['radio'] = info['phy'] + if mode == 'ap': - return wifi_ap(ifname) + result.update(wifi_ap(ifname)) else: - return wifi_station(ifname) + result.update(wifi_station(ifname)) + + return result def parse_wpa_scan_result(scan_output):