components/esp_matter: gate network diagnostics clusters on transport config

WiFi and Thread network diagnostics clusters were unconditionally
created on the root node when their Kconfig flags were enabled,
regardless of the actual transport. A Thread-only device would
incorrectly include the WiFi Network Diagnostics cluster.

Gate cluster creation on transport-level defines so that WiFi
diagnostics are only added when WiFi is enabled, and Thread
diagnostics only when Thread is enabled.

Fixes https://github.com/espressif/esp-matter/issues/1649
This commit is contained in:
Shubham Patil
2026-04-08 11:27:49 +05:30
parent c6f767254f
commit 588322c892
@@ -89,12 +89,15 @@ esp_err_t add(endpoint_t *endpoint, config_t *config)
#endif // CHIP_CONFIG_ENABLE_ICD_LIT #endif // CHIP_CONFIG_ENABLE_ICD_LIT
} }
#endif // CHIP_CONFIG_ENABLE_ICD_SERVER #endif // CHIP_CONFIG_ENABLE_ICD_SERVER
#if defined(CONFIG_SUPPORT_WIFI_NETWORK_DIAGNOSTICS_CLUSTER)
#if CHIP_DEVICE_CONFIG_ENABLE_WIFI && defined(CONFIG_SUPPORT_WIFI_NETWORK_DIAGNOSTICS_CLUSTER)
wifi_network_diagnostics::create(endpoint, nullptr, CLUSTER_FLAG_SERVER); wifi_network_diagnostics::create(endpoint, nullptr, CLUSTER_FLAG_SERVER);
#endif #endif
#if defined(CONFIG_SUPPORT_THREAD_NETWORK_DIAGNOSTICS_CLUSTER)
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD && defined(CONFIG_SUPPORT_THREAD_NETWORK_DIAGNOSTICS_CLUSTER)
thread_network_diagnostics::create(endpoint, nullptr, CLUSTER_FLAG_SERVER); thread_network_diagnostics::create(endpoint, nullptr, CLUSTER_FLAG_SERVER);
#endif #endif
return ESP_OK; return ESP_OK;
} }
} /* root_node */ } /* root_node */