diff --git a/service-t/native/libs/libnetworkstats/BpfNetworkStats.cpp b/service-t/native/libs/libnetworkstats/BpfNetworkStats.cpp index e9784ffbb2..d3e331ec81 100644 --- a/service-t/native/libs/libnetworkstats/BpfNetworkStats.cpp +++ b/service-t/native/libs/libnetworkstats/BpfNetworkStats.cpp @@ -51,7 +51,12 @@ const BpfMapRO& getIfaceStatsMap() { } Result ifindex2name(const uint32_t ifindex) { - return getIfaceIndexNameMap().readValue(ifindex); + Result v = getIfaceIndexNameMap().readValue(ifindex); + if (v.ok()) return v; + IfaceValue iv = {}; + if (!if_indextoname(ifindex, iv.name)) return v; + getIfaceIndexNameMap().writeValue(ifindex, iv, BPF_ANY); + return iv; } void bpfRegisterIface(const char* iface) {