From 9bcdbf36fff2b75ebb66484de7e1eefab9420bb8 Mon Sep 17 00:00:00 2001 From: phoenixwu0229 <49689460+phoenixwu0229@users.noreply.github.com> Date: Thu, 29 May 2025 15:23:55 +0800 Subject: [PATCH] [TE] fix: filter out DOWN network interfaces in findLocalIpAddresses() (#422) Signed-off-by: phoenixwu0229 --- .../src/transfer_metadata_plugin.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mooncake-transfer-engine/src/transfer_metadata_plugin.cpp b/mooncake-transfer-engine/src/transfer_metadata_plugin.cpp index ac49dd2e..f165be68 100644 --- a/mooncake-transfer-engine/src/transfer_metadata_plugin.cpp +++ b/mooncake-transfer-engine/src/transfer_metadata_plugin.cpp @@ -867,9 +867,18 @@ std::vector findLocalIpAddresses() { continue; } + // Check if interface is UP and RUNNING + if (!(ifa->ifa_flags & IFF_UP) || !(ifa->ifa_flags & IFF_RUNNING)) { + LOG(INFO) << "Skipping interface " << ifa->ifa_name + << " (not UP or not RUNNING)"; + continue; + } + char host[NI_MAXHOST]; if (getnameinfo(ifa->ifa_addr, sizeof(struct sockaddr_in), host, NI_MAXHOST, nullptr, 0, NI_NUMERICHOST) == 0) { + LOG(INFO) << "Found active interface " << ifa->ifa_name + << " with IP " << host; ips.push_back(host); } }