diff --git a/src/controller/AbstractDnssdDiscoveryController.cpp b/src/controller/AbstractDnssdDiscoveryController.cpp index 2443c5fe0b1ac9..4d916e068ddbe6 100644 --- a/src/controller/AbstractDnssdDiscoveryController.cpp +++ b/src/controller/AbstractDnssdDiscoveryController.cpp @@ -34,9 +34,11 @@ void AbstractDnssdDiscoveryController::OnNodeDiscovered(const chip::Dnssd::Disco { continue; } + // TODO(#32576) Check if IP address are the same. Must account for `numIPs` in the list of `ipAddress`. + // Additionally, must NOT assume that the ordering is consistent. if (strcmp(discoveredNode.resolutionData.hostName, nodeData.resolutionData.hostName) == 0 && discoveredNode.resolutionData.port == nodeData.resolutionData.port && - discoveredNode.resolutionData.ipAddress == nodeData.resolutionData.ipAddress) + discoveredNode.resolutionData.numIPs == nodeData.resolutionData.numIPs) { discoveredNode = nodeData; if (mDeviceDiscoveryDelegate != nullptr)