mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #422] [MERGED] fix: filter out DOWN network interfaces in findLocalIpAddresses() #1556
Labels
No labels
ascend
auto-closed
bug
bug
CI/Build
Common
documentation
enhancement
feature request
good first issue
help wanted
high priority
MetaX
nightly-failure
pull-request
PyTorch Backend
question
RFC
Roadmap
stale
Store
Tests
Transfer Engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/Mooncake#1556
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/Mooncake/pull/422
Author: @phoenixwu0229
Created: 5/29/2025
Status: ✅ Merged
Merged: 5/29/2025
Merged by: @stmatengss
Base:
main← Head:420-findlocalipaddresses-returns-ip-addresses-from-down-network-interfaces📝 Commits (1)
5d74bf2fix: filter out DOWN network interfaces in findLocalIpAddresses()📊 Changes
1 file changed (+9 additions, -0 deletions)
View changed files
📝
mooncake-transfer-engine/src/transfer_metadata_plugin.cpp(+9 -0)📄 Description
🐛 Problem
The findLocalIpAddresses() function in the transfer metadata plugin was incorrectly returning IP addresses from network interfaces that are in DOWN state. This caused connection failures and RPC timeouts when services attempted to bind or connect to these inactive IP addresses.
🔍 Root Cause
The current implementation only filters out the loopback interface (lo) but does not check the interface status flags (IFF_UP and IFF_RUNNING). As a result, it returns IP addresses from all non-loopback interfaces regardless of their operational state.
💡 Solution
Added proper interface status checks to ensure only active network interfaces are considered:
✅ Check IFF_UP flag (interface is administratively up)
✅ Check IFF_RUNNING flag (interface has a valid link/connection)
✅ Add informative logging for skipped and selected interfaces
✅ Maintain existing loopback interface filtering
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.