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); } }