[mdns] Renamed mDNS abstract layer to DNS-SD (#10381)

Abstract layer providing DNS Service Discovery functionalities
is currently called mDNS, but mDNS is actually a DNS-SD specific
implementation. Abstract layer should be named DNS-SD, while
mDNS and SRP should be modules implementing DNS-SD API.

Overall 1:1 changes from mDNS naming to dnssd, including:
* src/lib/mdns -> src/lib/dnssd
* lib/mdns/minimal -> lib/dnssd/minimal_mdns
* app/server/Mdns -> app/server/Dnssd
* MdnsImpl -> DnssdImpl
* Mdns namespace -> Dnssd namespace
diff --git a/src/BUILD.gn b/src/BUILD.gn
index 3239029..c6e0475 100644
--- a/src/BUILD.gn
+++ b/src/BUILD.gn
@@ -49,10 +49,10 @@
       "${chip_root}/src/inet/tests",
       "${chip_root}/src/lib/asn1/tests",
       "${chip_root}/src/lib/core/tests",
-      "${chip_root}/src/lib/mdns/minimal/core/tests",
-      "${chip_root}/src/lib/mdns/minimal/responders/tests",
-      "${chip_root}/src/lib/mdns/minimal/tests",
-      "${chip_root}/src/lib/mdns/tests",
+      "${chip_root}/src/lib/dnssd/minimal_mdns/core/tests",
+      "${chip_root}/src/lib/dnssd/minimal_mdns/responders/tests",
+      "${chip_root}/src/lib/dnssd/minimal_mdns/tests",
+      "${chip_root}/src/lib/dnssd/tests",
       "${chip_root}/src/messaging/tests",
       "${chip_root}/src/protocols/bdx/tests",
       "${chip_root}/src/protocols/user_directed_commissioning/tests",
@@ -60,7 +60,7 @@
     ]
 
     if (current_os != "zephyr") {
-      deps += [ "${chip_root}/src/lib/mdns/minimal/records/tests" ]
+      deps += [ "${chip_root}/src/lib/dnssd/minimal_mdns/records/tests" ]
     }
 
     if (current_os != "zephyr" && chip_device_platform != "efr32") {
@@ -81,7 +81,7 @@
     }
 
     if (chip_device_platform != "none") {
-      deps += [ "${chip_root}/src/lib/mdns/minimal/tests" ]
+      deps += [ "${chip_root}/src/lib/dnssd/minimal_mdns/tests" ]
     }
 
     if (chip_device_platform != "esp32" && chip_device_platform != "efr32") {
@@ -118,6 +118,6 @@
   }
 
   chip_test_group("fake_platform_tests") {
-    deps = [ "${chip_root}/src/lib/mdns/platform/tests" ]
+    deps = [ "${chip_root}/src/lib/dnssd/platform/tests" ]
   }
 }
diff --git a/src/app/chip_data_model.cmake b/src/app/chip_data_model.cmake
index 284ada3..4de2498 100644
--- a/src/app/chip_data_model.cmake
+++ b/src/app/chip_data_model.cmake
@@ -59,7 +59,7 @@
     if (ARG_INCLUDE_SERVER)
         target_sources(${APP_TARGET} PRIVATE
             ${CHIP_APP_BASE_DIR}/server/EchoHandler.cpp
-            ${CHIP_APP_BASE_DIR}/server/Mdns.cpp
+            ${CHIP_APP_BASE_DIR}/server/Dnssd.cpp
             ${CHIP_APP_BASE_DIR}/server/OnboardingCodesUtil.cpp
             ${CHIP_APP_BASE_DIR}/server/Server.cpp
             ${CHIP_APP_BASE_DIR}/server/CommissioningWindowManager.cpp
diff --git a/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp b/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp
index 8071567..3d2a5a1 100644
--- a/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp
+++ b/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp
@@ -30,7 +30,7 @@
 #include <app-common/zap-generated/enums.h>
 #include <app/CommandHandler.h>
 #include <app/ConcreteCommandPath.h>
-#include <app/server/Mdns.h>
+#include <app/server/Dnssd.h>
 #include <app/server/Server.h>
 #include <app/util/af.h>
 #include <app/util/attribute-storage.h>
@@ -418,7 +418,7 @@
     VerifyOrExit(err == CHIP_NO_ERROR, nocResponse = ConvertToNOCResponseStatus(err));
 
     // We might have a new operational identity, so we should start advertising it right away.
-    app::MdnsServer::Instance().AdvertiseOperational();
+    app::DnssdServer::Instance().AdvertiseOperational();
 
 exit:
 
@@ -461,7 +461,7 @@
     // can't just wait until we get network configuration commands, because we
     // might be on the operational network already, in which case we are
     // expected to be live with our new identity at this point.
-    app::MdnsServer::Instance().AdvertiseOperational();
+    app::DnssdServer::Instance().AdvertiseOperational();
 
 exit:
 
diff --git a/src/app/server/BUILD.gn b/src/app/server/BUILD.gn
index fd87fe1..24fcdde 100644
--- a/src/app/server/BUILD.gn
+++ b/src/app/server/BUILD.gn
@@ -29,10 +29,10 @@
   sources = [
     "CommissioningWindowManager.cpp",
     "CommissioningWindowManager.h",
+    "Dnssd.cpp",
+    "Dnssd.h",
     "EchoHandler.cpp",
     "EchoHandler.h",
-    "Mdns.cpp",
-    "Mdns.h",
     "OnboardingCodesUtil.cpp",
     "OnboardingCodesUtil.h",
     "Server.cpp",
@@ -45,7 +45,7 @@
 
   public_deps = [
     "${chip_root}/src/app",
-    "${chip_root}/src/lib/mdns",
+    "${chip_root}/src/lib/dnssd",
     "${chip_root}/src/messaging",
     "${chip_root}/src/platform",
     "${chip_root}/src/protocols",
diff --git a/src/app/server/CommissioningWindowManager.cpp b/src/app/server/CommissioningWindowManager.cpp
index 4be5a53..b5e66a7 100644
--- a/src/app/server/CommissioningWindowManager.cpp
+++ b/src/app/server/CommissioningWindowManager.cpp
@@ -16,9 +16,9 @@
  */
 
 #include <app/server/CommissioningWindowManager.h>
-#include <app/server/Mdns.h>
+#include <app/server/Dnssd.h>
 #include <app/server/Server.h>
-#include <lib/mdns/Advertiser.h>
+#include <lib/dnssd/Advertiser.h>
 #include <lib/support/CodeUtils.h>
 #include <platform/CHIPDeviceLayer.h>
 
@@ -66,7 +66,7 @@
     }
     else if (event->Type == DeviceLayer::DeviceEventType::kOperationalNetworkEnabled)
     {
-        app::MdnsServer::Instance().AdvertiseOperational();
+        app::DnssdServer::Instance().AdvertiseOperational();
         ChipLogError(AppServer, "Operational advertising enabled");
     }
 }
@@ -86,7 +86,7 @@
     memset(mECMSalt, 0, sizeof(mECMSalt));
 
     // reset all advertising
-    app::MdnsServer::Instance().StartServer(Mdns::CommissioningMode::kDisabled);
+    app::DnssdServer::Instance().StartServer(Dnssd::CommissioningMode::kDisabled);
 }
 
 void CommissioningWindowManager::OnSessionEstablishmentError(CHIP_ERROR err)
@@ -175,7 +175,7 @@
                                                             mECMPasscodeID, keyID, this));
 
         // reset all advertising, indicating we are in commissioningMode
-        app::MdnsServer::Instance().StartServer(Mdns::CommissioningMode::kEnabledEnhanced);
+        app::DnssdServer::Instance().StartServer(Dnssd::CommissioningMode::kEnabledEnhanced);
     }
     else
     {
@@ -187,7 +187,7 @@
             ByteSpan(reinterpret_cast<const uint8_t *>(kSpake2pKeyExchangeSalt), strlen(kSpake2pKeyExchangeSalt)), keyID, this));
 
         // reset all advertising, indicating we are in commissioningMode
-        app::MdnsServer::Instance().StartServer(Mdns::CommissioningMode::kEnabledBasic);
+        app::DnssdServer::Instance().StartServer(Dnssd::CommissioningMode::kEnabledBasic);
     }
 
     return CHIP_NO_ERROR;
diff --git a/src/app/server/CommissioningWindowManager.h b/src/app/server/CommissioningWindowManager.h
index 552811a..58e5184 100644
--- a/src/app/server/CommissioningWindowManager.h
+++ b/src/app/server/CommissioningWindowManager.h
@@ -28,7 +28,7 @@
 enum class CommissioningWindowAdvertisement
 {
     kAllSupported,
-    kMdnsOnly,
+    kDnssdOnly,
 };
 
 class Server;
diff --git a/src/app/server/Mdns.cpp b/src/app/server/Dnssd.cpp
similarity index 83%
rename from src/app/server/Mdns.cpp
rename to src/app/server/Dnssd.cpp
index 50a16a5..9b7a5df 100644
--- a/src/app/server/Mdns.cpp
+++ b/src/app/server/Dnssd.cpp
@@ -15,13 +15,13 @@
  *    limitations under the License.
  */
 
-#include <app/server/Mdns.h>
+#include <app/server/Dnssd.h>
 
 #include <inttypes.h>
 
 #include <lib/core/Optional.h>
-#include <lib/mdns/Advertiser.h>
-#include <lib/mdns/ServiceNaming.h>
+#include <lib/dnssd/Advertiser.h>
+#include <lib/dnssd/ServiceNaming.h>
 #include <lib/support/Span.h>
 #include <lib/support/logging/CHIPLogging.h>
 #include <messaging/ReliableMessageProtocolConfig.h>
@@ -58,9 +58,9 @@
 
 void OnPlatformEvent(const DeviceLayer::ChipDeviceEvent * event)
 {
-    if (event->Type == DeviceLayer::DeviceEventType::kMdnsPlatformInitialized)
+    if (event->Type == DeviceLayer::DeviceEventType::kDnssdPlatformInitialized)
     {
-        app::MdnsServer::Instance().StartServer();
+        app::DnssdServer::Instance().StartServer();
     }
 }
 
@@ -76,13 +76,13 @@
 
 constexpr const char kExtendedDiscoveryTimeoutKeypairStorage[] = "ExtDiscKey";
 
-void MdnsServer::SetExtendedDiscoveryTimeoutSecs(int16_t secs)
+void DnssdServer::SetExtendedDiscoveryTimeoutSecs(int16_t secs)
 {
     ChipLogDetail(Discovery, "SetExtendedDiscoveryTimeoutSecs %d", secs);
     chip::DeviceLayer::PersistedStorage::KeyValueStoreMgr().Put(kExtendedDiscoveryTimeoutKeypairStorage, &secs, sizeof(secs));
 }
 
-int16_t MdnsServer::GetExtendedDiscoveryTimeoutSecs()
+int16_t DnssdServer::GetExtendedDiscoveryTimeoutSecs()
 {
     CHIP_ERROR err = CHIP_NO_ERROR;
     int16_t secs;
@@ -101,12 +101,12 @@
 /// Callback from Extended Discovery Expiration timer
 void HandleExtendedDiscoveryExpiration(System::Layer * aSystemLayer, void * aAppState)
 {
-    MdnsServer::Instance().OnExtendedDiscoveryExpiration(aSystemLayer, aAppState);
+    DnssdServer::Instance().OnExtendedDiscoveryExpiration(aSystemLayer, aAppState);
 }
 
-void MdnsServer::OnExtendedDiscoveryExpiration(System::Layer * aSystemLayer, void * aAppState)
+void DnssdServer::OnExtendedDiscoveryExpiration(System::Layer * aSystemLayer, void * aAppState)
 {
-    if (!MdnsServer::OnExpiration(mExtendedDiscoveryExpirationMs))
+    if (!DnssdServer::OnExpiration(mExtendedDiscoveryExpirationMs))
     {
         ChipLogDetail(Discovery, "OnExtendedDiscoveryExpiration callback for cleared session");
         return;
@@ -121,10 +121,10 @@
 /// Callback from Discovery Expiration timer
 void HandleDiscoveryExpiration(System::Layer * aSystemLayer, void * aAppState)
 {
-    MdnsServer::Instance().OnDiscoveryExpiration(aSystemLayer, aAppState);
+    DnssdServer::Instance().OnDiscoveryExpiration(aSystemLayer, aAppState);
 }
 
-bool MdnsServer::OnExpiration(uint64_t expirationMs)
+bool DnssdServer::OnExpiration(uint64_t expirationMs)
 {
     if (expirationMs == TIMEOUT_CLEARED)
     {
@@ -140,14 +140,14 @@
 
     ChipLogDetail(Discovery, "OnExpiration - valid time out");
 
-    CHIP_ERROR err = Mdns::ServiceAdvertiser::Instance().Init(&chip::DeviceLayer::InetLayer);
+    CHIP_ERROR err = Dnssd::ServiceAdvertiser::Instance().Init(&chip::DeviceLayer::InetLayer);
     if (err != CHIP_NO_ERROR)
     {
         ChipLogError(Discovery, "Failed to initialize advertiser: %s", chip::ErrorStr(err));
     }
 
     // reset advertising
-    err = Mdns::ServiceAdvertiser::Instance().RemoveServices();
+    err = Dnssd::ServiceAdvertiser::Instance().RemoveServices();
     if (err != CHIP_NO_ERROR)
     {
         ChipLogError(Discovery, "Failed to remove advertised services: %s", chip::ErrorStr(err));
@@ -168,7 +168,7 @@
     }
 #endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY
 
-    err = Mdns::ServiceAdvertiser::Instance().FinalizeServiceUpdate();
+    err = Dnssd::ServiceAdvertiser::Instance().FinalizeServiceUpdate();
     if (err != CHIP_NO_ERROR)
     {
         ChipLogError(Discovery, "Failed to finalize service update: %s", chip::ErrorStr(err));
@@ -177,9 +177,9 @@
     return true;
 }
 
-void MdnsServer::OnDiscoveryExpiration(System::Layer * aSystemLayer, void * aAppState)
+void DnssdServer::OnDiscoveryExpiration(System::Layer * aSystemLayer, void * aAppState)
 {
-    if (!MdnsServer::OnExpiration(mDiscoveryExpirationMs))
+    if (!DnssdServer::OnExpiration(mDiscoveryExpirationMs))
     {
         ChipLogDetail(Discovery, "OnDiscoveryExpiration callback for cleared session");
         return;
@@ -191,7 +191,7 @@
     int16_t extTimeout = GetExtendedDiscoveryTimeoutSecs();
     if (extTimeout != CHIP_DEVICE_CONFIG_DISCOVERY_DISABLED)
     {
-        CHIP_ERROR err = AdvertiseCommissionableNode(chip::Mdns::CommissioningMode::kDisabled);
+        CHIP_ERROR err = AdvertiseCommissionableNode(chip::Dnssd::CommissioningMode::kDisabled);
         if (err != CHIP_NO_ERROR)
         {
             ChipLogError(Discovery, "Failed to advertise extended commissionable node: %s", chip::ErrorStr(err));
@@ -204,7 +204,7 @@
     mDiscoveryExpirationMs = TIMEOUT_CLEARED;
 }
 
-CHIP_ERROR MdnsServer::ScheduleDiscoveryExpiration()
+CHIP_ERROR DnssdServer::ScheduleDiscoveryExpiration()
 {
     if (mDiscoveryTimeoutSecs == CHIP_DEVICE_CONFIG_DISCOVERY_NO_TIMEOUT)
     {
@@ -219,7 +219,7 @@
 }
 
 #if CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY
-CHIP_ERROR MdnsServer::ScheduleExtendedDiscoveryExpiration()
+CHIP_ERROR DnssdServer::ScheduleExtendedDiscoveryExpiration()
 {
     int16_t extendedDiscoveryTimeoutSecs = GetExtendedDiscoveryTimeoutSecs();
     if (extendedDiscoveryTimeoutSecs == CHIP_DEVICE_CONFIG_DISCOVERY_NO_TIMEOUT)
@@ -236,14 +236,14 @@
 }
 #endif // CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY
 
-CHIP_ERROR MdnsServer::GetCommissionableInstanceName(char * buffer, size_t bufferLen)
+CHIP_ERROR DnssdServer::GetCommissionableInstanceName(char * buffer, size_t bufferLen)
 {
-    auto & mdnsAdvertiser = chip::Mdns::ServiceAdvertiser::Instance();
+    auto & mdnsAdvertiser = chip::Dnssd::ServiceAdvertiser::Instance();
     return mdnsAdvertiser.GetCommissionableInstanceName(buffer, bufferLen);
 }
 
 /// Set MDNS operational advertisement
-CHIP_ERROR MdnsServer::AdvertiseOperational()
+CHIP_ERROR DnssdServer::AdvertiseOperational()
 {
     for (const FabricInfo & fabricInfo : Server::GetInstance().GetFabricTable())
     {
@@ -254,7 +254,7 @@
             chip::DeviceLayer::ConfigurationMgr().GetPrimaryMACAddress(mac);
 
             const auto advertiseParameters =
-                chip::Mdns::OperationalAdvertisingParameters()
+                chip::Dnssd::OperationalAdvertisingParameters()
                     .SetPeerId(fabricInfo.GetPeerId())
                     .SetMac(mac)
                     .SetPort(GetSecuredPort())
@@ -263,7 +263,7 @@
                     .SetTcpSupported(Optional<bool>(INET_CONFIG_ENABLE_TCP_ENDPOINT))
                     .EnableIpV4(true);
 
-            auto & mdnsAdvertiser = chip::Mdns::ServiceAdvertiser::Instance();
+            auto & mdnsAdvertiser = chip::Dnssd::ServiceAdvertiser::Instance();
 
             ChipLogProgress(Discovery, "Advertise operational node " ChipLogFormatX64 "-" ChipLogFormatX64,
                             ChipLogValueX64(advertiseParameters.GetPeerId().GetCompressedFabricId()),
@@ -276,17 +276,17 @@
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR MdnsServer::Advertise(bool commissionableNode, chip::Mdns::CommissioningMode mode)
+CHIP_ERROR DnssdServer::Advertise(bool commissionableNode, chip::Dnssd::CommissioningMode mode)
 {
-    auto advertiseParameters = chip::Mdns::CommissionAdvertisingParameters()
+    auto advertiseParameters = chip::Dnssd::CommissionAdvertisingParameters()
                                    .SetPort(commissionableNode ? GetSecuredPort() : GetUnsecuredPort())
                                    .EnableIpV4(true);
-    advertiseParameters.SetCommissionAdvertiseMode(commissionableNode ? chip::Mdns::CommssionAdvertiseMode::kCommissionableNode
-                                                                      : chip::Mdns::CommssionAdvertiseMode::kCommissioner);
+    advertiseParameters.SetCommissionAdvertiseMode(commissionableNode ? chip::Dnssd::CommssionAdvertiseMode::kCommissionableNode
+                                                                      : chip::Dnssd::CommssionAdvertiseMode::kCommissioner);
 
     advertiseParameters.SetCommissioningMode(mode);
 
-    char pairingInst[chip::Mdns::kKeyPairingInstructionMaxLength + 1];
+    char pairingInst[chip::Dnssd::kKeyPairingInstructionMaxLength + 1];
 
     uint8_t macBuffer[DeviceLayer::ConfigurationManager::kPrimaryMACAddressLength];
     MutableByteSpan mac(macBuffer);
@@ -325,7 +325,7 @@
         advertiseParameters.SetDeviceType(chip::Optional<uint16_t>::Value(value));
     }
 
-    char deviceName[chip::Mdns::kKeyDeviceNameMaxLength + 1];
+    char deviceName[chip::Dnssd::kKeyDeviceNameMaxLength + 1];
     if (DeviceLayer::ConfigurationMgr().IsCommissionableDeviceNameEnabled() &&
         DeviceLayer::ConfigurationMgr().GetDeviceName(deviceName, sizeof(deviceName)) == CHIP_NO_ERROR)
     {
@@ -343,7 +343,7 @@
                               Optional<uint32_t>(CHIP_CONFIG_MRP_DEFAULT_ACTIVE_RETRY_INTERVAL))
         .SetTcpSupported(Optional<bool>(INET_CONFIG_ENABLE_TCP_ENDPOINT));
 
-    if (mode != chip::Mdns::CommissioningMode::kEnabledEnhanced)
+    if (mode != chip::Dnssd::CommissioningMode::kEnabledEnhanced)
     {
         if (DeviceLayer::ConfigurationMgr().GetInitialPairingHint(value) != CHIP_NO_ERROR)
         {
@@ -384,7 +384,7 @@
         }
     }
 
-    auto & mdnsAdvertiser = chip::Mdns::ServiceAdvertiser::Instance();
+    auto & mdnsAdvertiser = chip::Dnssd::ServiceAdvertiser::Instance();
 
     ChipLogProgress(Discovery, "Advertise commission parameter vendorID=%u productID=%u discriminator=%04u/%02u",
                     advertiseParameters.GetVendorId().ValueOr(0), advertiseParameters.GetProductId().ValueOr(0),
@@ -392,31 +392,31 @@
     return mdnsAdvertiser.Advertise(advertiseParameters);
 }
 
-CHIP_ERROR MdnsServer::AdvertiseCommissioner()
+CHIP_ERROR DnssdServer::AdvertiseCommissioner()
 {
-    return Advertise(false /* commissionableNode */, chip::Mdns::CommissioningMode::kDisabled);
+    return Advertise(false /* commissionableNode */, chip::Dnssd::CommissioningMode::kDisabled);
 }
 
-CHIP_ERROR MdnsServer::AdvertiseCommissionableNode(chip::Mdns::CommissioningMode mode)
+CHIP_ERROR DnssdServer::AdvertiseCommissionableNode(chip::Dnssd::CommissioningMode mode)
 {
     return Advertise(true /* commissionableNode */, mode);
 }
 
-void MdnsServer::StartServer(chip::Mdns::CommissioningMode mode)
+void DnssdServer::StartServer(chip::Dnssd::CommissioningMode mode)
 {
-    ChipLogDetail(Discovery, "Mdns StartServer mode=%d", static_cast<int>(mode));
+    ChipLogDetail(Discovery, "DNS-SD StartServer mode=%d", static_cast<int>(mode));
 
     ClearTimeouts();
 
     DeviceLayer::PlatformMgr().AddEventHandler(OnPlatformEventWrapper, 0);
 
-    CHIP_ERROR err = Mdns::ServiceAdvertiser::Instance().Init(&chip::DeviceLayer::InetLayer);
+    CHIP_ERROR err = Dnssd::ServiceAdvertiser::Instance().Init(&chip::DeviceLayer::InetLayer);
     if (err != CHIP_NO_ERROR)
     {
         ChipLogError(Discovery, "Failed to initialize advertiser: %s", chip::ErrorStr(err));
     }
 
-    err = Mdns::ServiceAdvertiser::Instance().RemoveServices();
+    err = Dnssd::ServiceAdvertiser::Instance().RemoveServices();
     if (err != CHIP_NO_ERROR)
     {
         ChipLogError(Discovery, "Failed to remove advertised services: %s", chip::ErrorStr(err));
@@ -431,7 +431,7 @@
     if (HaveOperationalCredentials())
     {
         ChipLogProgress(Discovery, "Have operational credentials");
-        if (mode != chip::Mdns::CommissioningMode::kDisabled)
+        if (mode != chip::Dnssd::CommissioningMode::kDisabled)
         {
             err = AdvertiseCommissionableNode(mode);
             if (err != CHIP_NO_ERROR)
@@ -457,7 +457,7 @@
     {
 #if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DISCOVERY
         ChipLogProgress(Discovery, "Start dns-sd server - no current nodeId");
-        err = AdvertiseCommissionableNode(chip::Mdns::CommissioningMode::kEnabledBasic);
+        err = AdvertiseCommissionableNode(chip::Dnssd::CommissioningMode::kEnabledBasic);
         if (err != CHIP_NO_ERROR)
         {
             ChipLogError(Discovery, "Failed to advertise unprovisioned commissionable node: %s", chip::ErrorStr(err));
@@ -475,7 +475,7 @@
     }
 #endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY
 
-    err = Mdns::ServiceAdvertiser::Instance().FinalizeServiceUpdate();
+    err = Dnssd::ServiceAdvertiser::Instance().FinalizeServiceUpdate();
     if (err != CHIP_NO_ERROR)
     {
         ChipLogError(Discovery, "Failed to finalize service update: %s", chip::ErrorStr(err));
@@ -483,7 +483,7 @@
 }
 
 #if CHIP_ENABLE_ROTATING_DEVICE_ID
-CHIP_ERROR MdnsServer::GenerateRotatingDeviceId(char rotatingDeviceIdHexBuffer[], size_t rotatingDeviceIdHexBufferSize)
+CHIP_ERROR DnssdServer::GenerateRotatingDeviceId(char rotatingDeviceIdHexBuffer[], size_t rotatingDeviceIdHexBufferSize)
 {
     char serialNumber[chip::DeviceLayer::ConfigurationManager::kMaxSerialNumberLength + 1];
     size_t serialNumberSize                = 0;
diff --git a/src/app/server/Mdns.h b/src/app/server/Dnssd.h
similarity index 91%
rename from src/app/server/Mdns.h
rename to src/app/server/Dnssd.h
index 671f313..7c6d956 100644
--- a/src/app/server/Mdns.h
+++ b/src/app/server/Dnssd.h
@@ -18,7 +18,7 @@
 #pragma once
 
 #include <lib/core/CHIPError.h>
-#include <lib/mdns/Advertiser.h>
+#include <lib/dnssd/Advertiser.h>
 #include <platform/CHIPDeviceLayer.h>
 #include <stddef.h>
 #include <system/TimeSource.h>
@@ -27,13 +27,13 @@
 namespace app {
 
 #define TIMEOUT_CLEARED 0
-class DLL_EXPORT MdnsServer
+class DLL_EXPORT DnssdServer
 {
 public:
     /// Provides the system-wide implementation of the service advertiser
-    static MdnsServer & Instance()
+    static DnssdServer & Instance()
     {
-        static MdnsServer instance;
+        static DnssdServer instance;
         return instance;
     }
 
@@ -76,10 +76,10 @@
     /// Start operational advertising
     CHIP_ERROR AdvertiseOperational();
 
-    /// (Re-)starts the minmdns server
+    /// (Re-)starts the Dnssd server
     /// - if device has not yet been commissioned, then commissioning mode will show as enabled (CM=1, AC=0)
     /// - if device has been commissioned, then commissioning mode will reflect the state of mode argument
-    void StartServer(chip::Mdns::CommissioningMode mode = chip::Mdns::CommissioningMode::kDisabled);
+    void StartServer(chip::Dnssd::CommissioningMode mode = chip::Dnssd::CommissioningMode::kDisabled);
 
     CHIP_ERROR GenerateRotatingDeviceId(char rotatingDeviceIdHexBuffer[], size_t rotatingDeviceIdHexBufferSize);
 
@@ -92,13 +92,13 @@
     /// they share many fields.
     ///   commissionableNode = true : advertise commissionable node
     ///   commissionableNode = false : advertise commissioner
-    CHIP_ERROR Advertise(bool commissionableNode, chip::Mdns::CommissioningMode mode);
+    CHIP_ERROR Advertise(bool commissionableNode, chip::Dnssd::CommissioningMode mode);
 
     /// Set MDNS commissioner advertisement
     CHIP_ERROR AdvertiseCommissioner();
 
     /// Set MDNS commissionable node advertisement
-    CHIP_ERROR AdvertiseCommissionableNode(chip::Mdns::CommissioningMode mode);
+    CHIP_ERROR AdvertiseCommissionableNode(chip::Dnssd::CommissioningMode mode);
 
     Time::TimeSource<Time::Source::kSystem> mTimeSource;
 
diff --git a/src/app/server/Server.cpp b/src/app/server/Server.cpp
index b74f9f4..9b00114 100644
--- a/src/app/server/Server.cpp
+++ b/src/app/server/Server.cpp
@@ -18,8 +18,8 @@
 #include <app/server/Server.h>
 
 #include <app/InteractionModelEngine.h>
+#include <app/server/Dnssd.h>
 #include <app/server/EchoHandler.h>
-#include <app/server/Mdns.h>
 #include <app/util/DataModelHandler.h>
 
 #include <ble/BLEEndPoint.h>
@@ -27,8 +27,8 @@
 #include <inet/InetError.h>
 #include <inet/InetLayer.h>
 #include <lib/core/CHIPPersistentStorageDelegate.h>
-#include <lib/mdns/Advertiser.h>
-#include <lib/mdns/ServiceNaming.h>
+#include <lib/dnssd/Advertiser.h>
+#include <lib/dnssd/ServiceNaming.h>
 #include <lib/support/CodeUtils.h>
 #include <lib/support/ErrorStr.h>
 #include <lib/support/logging/CHIPLogging.h>
@@ -152,16 +152,16 @@
 #endif
     }
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-    app::MdnsServer::Instance().SetSecuredPort(mSecuredServicePort);
-    app::MdnsServer::Instance().SetUnsecuredPort(mUnsecuredServicePort);
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+    app::DnssdServer::Instance().SetSecuredPort(mSecuredServicePort);
+    app::DnssdServer::Instance().SetUnsecuredPort(mUnsecuredServicePort);
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
     // TODO @bzbarsky-apple @cecille Move to examples
     // ESP32 and Mbed OS examples have a custom logic for enabling DNS-SD
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS && !CHIP_DEVICE_LAYER_TARGET_ESP32 && !CHIP_DEVICE_LAYER_TARGET_MBED
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !CHIP_DEVICE_LAYER_TARGET_ESP32 && !CHIP_DEVICE_LAYER_TARGET_MBED
     // StartServer only enables commissioning mode if device has not been commissioned
-    app::MdnsServer::Instance().StartServer();
+    app::DnssdServer::Instance().StartServer();
 #endif
 
     // TODO @pan-apple Use IM protocol ID.
@@ -187,7 +187,7 @@
 
 void Server::Shutdown()
 {
-    chip::Mdns::ServiceAdvertiser::Instance().Shutdown();
+    chip::Dnssd::ServiceAdvertiser::Instance().Shutdown();
     chip::app::InteractionModelEngine::GetInstance()->Shutdown();
     mExchangeMgr.Shutdown();
     mSessions.Shutdown();
@@ -205,8 +205,8 @@
     ChipLogDetail(AppServer, "SendUserDirectedCommissioningRequest2");
 
     CHIP_ERROR err;
-    char nameBuffer[chip::Mdns::kMaxInstanceNameSize + 1];
-    err = app::MdnsServer::Instance().GetCommissionableInstanceName(nameBuffer, sizeof(nameBuffer));
+    char nameBuffer[chip::Dnssd::kMaxInstanceNameSize + 1];
+    err = app::DnssdServer::Instance().GetCommissionableInstanceName(nameBuffer, sizeof(nameBuffer));
     if (err != CHIP_NO_ERROR)
     {
         ChipLogError(AppServer, "Failed to get mdns instance name error: %s", ErrorStr(err));
diff --git a/src/app/tests/TestCommissionManager.cpp b/src/app/tests/TestCommissionManager.cpp
index 0b1e123..0e1085f 100644
--- a/src/app/tests/TestCommissionManager.cpp
+++ b/src/app/tests/TestCommissionManager.cpp
@@ -57,7 +57,7 @@
     nlTestSuite * suite                        = reinterpret_cast<nlTestSuite *>(context);
     CommissioningWindowManager & commissionMgr = Server::GetInstance().GetCommissioningWindowManager();
     CHIP_ERROR err =
-        commissionMgr.OpenBasicCommissioningWindow(kNoCommissioningTimeout, CommissioningWindowAdvertisement::kMdnsOnly);
+        commissionMgr.OpenBasicCommissioningWindow(kNoCommissioningTimeout, CommissioningWindowAdvertisement::kDnssdOnly);
     NL_TEST_ASSERT(suite, err == CHIP_NO_ERROR);
     NL_TEST_ASSERT(suite, commissionMgr.IsCommissioningWindowOpen());
     commissionMgr.CloseCommissioningWindow();
@@ -85,7 +85,7 @@
     constexpr uint16_t kTimeoutSeconds         = 1;
     constexpr uint16_t kTimeoutMs              = 1000;
     constexpr unsigned kSleepPadding           = 100;
-    CHIP_ERROR err = commissionMgr.OpenBasicCommissioningWindow(kTimeoutSeconds, CommissioningWindowAdvertisement::kMdnsOnly);
+    CHIP_ERROR err = commissionMgr.OpenBasicCommissioningWindow(kTimeoutSeconds, CommissioningWindowAdvertisement::kDnssdOnly);
     NL_TEST_ASSERT(suite, err == CHIP_NO_ERROR);
     NL_TEST_ASSERT(suite, commissionMgr.IsCommissioningWindowOpen());
     chip::DeviceLayer::SystemLayer().StartTimer(kTimeoutMs + kSleepPadding, CheckCommissioningWindowManagerWindowClosedTask, suite);
diff --git a/src/channel/ChannelContext.cpp b/src/channel/ChannelContext.cpp
index fbeb539..1ec6a70 100644
--- a/src/channel/ChannelContext.cpp
+++ b/src/channel/ChannelContext.cpp
@@ -206,7 +206,7 @@
     EnterFailedState(CHIP_ERROR_PEER_NODE_NOT_FOUND);
 }
 
-void ChannelContext::HandleNodeIdResolve(CHIP_ERROR error, uint64_t nodeId, const Mdns::MdnsService & address)
+void ChannelContext::HandleNodeIdResolve(CHIP_ERROR error, uint64_t nodeId, const Dnssd::DnssdService & address)
 {
     switch (mState)
     {
diff --git a/src/channel/ChannelContext.h b/src/channel/ChannelContext.h
index 3f4a99e..d98ae6f 100644
--- a/src/channel/ChannelContext.h
+++ b/src/channel/ChannelContext.h
@@ -26,7 +26,7 @@
 
 #include <channel/Channel.h>
 #include <lib/core/ReferenceCounted.h>
-#include <lib/mdns/platform/Mdns.h>
+#include <lib/dnssd/platform/Dnssd.h>
 #include <lib/support/Variant.h>
 #include <protocols/secure_channel/CASESession.h>
 #include <transport/SecureSession.h>
@@ -106,7 +106,7 @@
     bool MatchesSession(SessionHandle session, SessionManager * sessionManager);
 
     // events of ResolveDelegate, propagated from ExchangeManager
-    void HandleNodeIdResolve(CHIP_ERROR error, uint64_t nodeId, const Mdns::MdnsService & address);
+    void HandleNodeIdResolve(CHIP_ERROR error, uint64_t nodeId, const Dnssd::DnssdService & address);
 
     // events of SecureSessionManager, propagated from ExchangeManager
     void OnNewConnection(SessionHandle session);
diff --git a/src/controller/AbstractMdnsDiscoveryController.cpp b/src/controller/AbstractDnssdDiscoveryController.cpp
similarity index 88%
rename from src/controller/AbstractMdnsDiscoveryController.cpp
rename to src/controller/AbstractDnssdDiscoveryController.cpp
index cf4db34..3dae05d 100644
--- a/src/controller/AbstractMdnsDiscoveryController.cpp
+++ b/src/controller/AbstractDnssdDiscoveryController.cpp
@@ -17,7 +17,7 @@
  */
 
 // module header, comes first
-#include <controller/AbstractMdnsDiscoveryController.h>
+#include <controller/AbstractDnssdDiscoveryController.h>
 
 #if CONFIG_DEVICE_LAYER
 #include <platform/CHIPDeviceLayer.h>
@@ -29,7 +29,7 @@
 namespace chip {
 namespace Controller {
 
-void AbstractMdnsDiscoveryController::OnNodeDiscoveryComplete(const chip::Mdns::DiscoveredNodeData & nodeData)
+void AbstractDnssdDiscoveryController::OnNodeDiscoveryComplete(const chip::Dnssd::DiscoveredNodeData & nodeData)
 {
     auto discoveredNodes = GetDiscoveredNodes();
     for (auto & discoveredNode : discoveredNodes)
@@ -64,7 +64,7 @@
     ChipLogError(Discovery, "Failed to add discovered node with hostname %s- Insufficient space", nodeData.hostName);
 }
 
-CHIP_ERROR AbstractMdnsDiscoveryController::SetUpNodeDiscovery()
+CHIP_ERROR AbstractDnssdDiscoveryController::SetUpNodeDiscovery()
 {
 #if CONFIG_DEVICE_LAYER
     ReturnErrorOnFailure(mResolver->Init(&DeviceLayer::InetLayer));
@@ -79,7 +79,7 @@
     return CHIP_NO_ERROR;
 }
 
-const Mdns::DiscoveredNodeData * AbstractMdnsDiscoveryController::GetDiscoveredNode(int idx)
+const Dnssd::DiscoveredNodeData * AbstractDnssdDiscoveryController::GetDiscoveredNode(int idx)
 {
     // TODO(cecille): Add assertion about main loop.
     auto discoveredNodes = GetDiscoveredNodes();
diff --git a/src/controller/AbstractMdnsDiscoveryController.h b/src/controller/AbstractDnssdDiscoveryController.h
similarity index 71%
rename from src/controller/AbstractMdnsDiscoveryController.h
rename to src/controller/AbstractDnssdDiscoveryController.h
index 184fe7a..aae783c 100644
--- a/src/controller/AbstractMdnsDiscoveryController.h
+++ b/src/controller/AbstractDnssdDiscoveryController.h
@@ -19,7 +19,7 @@
 #pragma once
 
 #include <controller/DeviceDiscoveryDelegate.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/Span.h>
 #include <platform/CHIPDeviceConfig.h>
 
@@ -36,21 +36,24 @@
  *   to maintain a list of DiscoveredNodes and providing the implementation
  *   of the template GetDiscoveredNodes() function.
  */
-class DLL_EXPORT AbstractMdnsDiscoveryController : public Mdns::ResolverDelegate
+class DLL_EXPORT AbstractDnssdDiscoveryController : public Dnssd::ResolverDelegate
 {
 public:
-    AbstractMdnsDiscoveryController(chip::Mdns::Resolver * resolver = &chip::Mdns::Resolver::Instance()) { mResolver = resolver; }
+    AbstractDnssdDiscoveryController(chip::Dnssd::Resolver * resolver = &chip::Dnssd::Resolver::Instance())
+    {
+        mResolver = resolver;
+    }
 
-    virtual ~AbstractMdnsDiscoveryController() {}
+    virtual ~AbstractDnssdDiscoveryController() {}
 
-    void OnNodeDiscoveryComplete(const chip::Mdns::DiscoveredNodeData & nodeData) override;
+    void OnNodeDiscoveryComplete(const chip::Dnssd::DiscoveredNodeData & nodeData) override;
 
 protected:
-    using DiscoveredNodeList = FixedSpan<Mdns::DiscoveredNodeData, CHIP_DEVICE_CONFIG_MAX_DISCOVERED_NODES>;
+    using DiscoveredNodeList = FixedSpan<Dnssd::DiscoveredNodeData, CHIP_DEVICE_CONFIG_MAX_DISCOVERED_NODES>;
     CHIP_ERROR SetUpNodeDiscovery();
-    const Mdns::DiscoveredNodeData * GetDiscoveredNode(int idx);
+    const Dnssd::DiscoveredNodeData * GetDiscoveredNode(int idx);
     virtual DiscoveredNodeList GetDiscoveredNodes() = 0;
-    chip::Mdns::Resolver * mResolver;
+    chip::Dnssd::Resolver * mResolver;
     DeviceDiscoveryDelegate * mDeviceDiscoveryDelegate = nullptr;
 };
 
diff --git a/src/controller/BUILD.gn b/src/controller/BUILD.gn
index cc80ba8..9616fb7 100644
--- a/src/controller/BUILD.gn
+++ b/src/controller/BUILD.gn
@@ -25,7 +25,7 @@
   output_name = "libChipController"
 
   sources = [
-    "AbstractMdnsDiscoveryController.cpp",
+    "AbstractDnssdDiscoveryController.cpp",
     "CHIPCluster.cpp",
     "CHIPCluster.h",
     "CHIPCommissionableNodeController.cpp",
@@ -51,7 +51,7 @@
     "${chip_root}/src/app",
     "${chip_root}/src/app/util:device_callbacks_manager",
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns",
+    "${chip_root}/src/lib/dnssd",
     "${chip_root}/src/lib/support",
     "${chip_root}/src/messaging",
     "${chip_root}/src/platform",
diff --git a/src/controller/CHIPCommissionableNodeController.cpp b/src/controller/CHIPCommissionableNodeController.cpp
index ee0bdf9..34d892d 100644
--- a/src/controller/CHIPCommissionableNodeController.cpp
+++ b/src/controller/CHIPCommissionableNodeController.cpp
@@ -24,13 +24,13 @@
 namespace chip {
 namespace Controller {
 
-CHIP_ERROR CommissionableNodeController::DiscoverCommissioners(Mdns::DiscoveryFilter discoveryFilter)
+CHIP_ERROR CommissionableNodeController::DiscoverCommissioners(Dnssd::DiscoveryFilter discoveryFilter)
 {
     ReturnErrorOnFailure(SetUpNodeDiscovery());
     return mResolver->FindCommissioners(discoveryFilter);
 }
 
-const Mdns::DiscoveredNodeData * CommissionableNodeController::GetDiscoveredCommissioner(int idx)
+const Dnssd::DiscoveredNodeData * CommissionableNodeController::GetDiscoveredCommissioner(int idx)
 {
     return GetDiscoveredNode(idx);
 }
diff --git a/src/controller/CHIPCommissionableNodeController.h b/src/controller/CHIPCommissionableNodeController.h
index 755b87f..8bafe78 100644
--- a/src/controller/CHIPCommissionableNodeController.h
+++ b/src/controller/CHIPCommissionableNodeController.h
@@ -18,8 +18,8 @@
 
 #pragma once
 
-#include <controller/AbstractMdnsDiscoveryController.h>
-#include <lib/mdns/Resolver.h>
+#include <controller/AbstractDnssdDiscoveryController.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/logging/CHIPLogging.h>
 #include <platform/CHIPDeviceConfig.h>
 
@@ -34,14 +34,14 @@
  *      Directed Commissioning requests, Commissionable Node advertisement and
  *      Commissioning of the node
  */
-class DLL_EXPORT CommissionableNodeController : public AbstractMdnsDiscoveryController
+class DLL_EXPORT CommissionableNodeController : public AbstractDnssdDiscoveryController
 {
 public:
-    CommissionableNodeController(chip::Mdns::Resolver * resolver = &chip::Mdns::Resolver::Instance()) :
-        AbstractMdnsDiscoveryController(resolver){};
+    CommissionableNodeController(chip::Dnssd::Resolver * resolver = &chip::Dnssd::Resolver::Instance()) :
+        AbstractDnssdDiscoveryController(resolver){};
     virtual ~CommissionableNodeController() {}
 
-    CHIP_ERROR DiscoverCommissioners(Mdns::DiscoveryFilter discoveryFilter = Mdns::DiscoveryFilter());
+    CHIP_ERROR DiscoverCommissioners(Dnssd::DiscoveryFilter discoveryFilter = Dnssd::DiscoveryFilter());
 
     /**
      * @return
@@ -50,9 +50,9 @@
      *   Otherwise, returns nullptr
      *   See Resolver.h IsValid()
      */
-    const Mdns::DiscoveredNodeData * GetDiscoveredCommissioner(int idx);
+    const Dnssd::DiscoveredNodeData * GetDiscoveredCommissioner(int idx);
 
-    void OnNodeIdResolved(const chip::Mdns::ResolvedNodeData & nodeData) override
+    void OnNodeIdResolved(const chip::Dnssd::ResolvedNodeData & nodeData) override
     {
         ChipLogError(Controller, "Unsupported operation CommissionableNodeController::OnNodeIdResolved");
     }
@@ -66,7 +66,7 @@
     DiscoveredNodeList GetDiscoveredNodes() override { return DiscoveredNodeList(mDiscoveredCommissioners); }
 
 private:
-    Mdns::DiscoveredNodeData mDiscoveredCommissioners[CHIP_DEVICE_CONFIG_MAX_DISCOVERED_NODES];
+    Dnssd::DiscoveredNodeData mDiscoveredCommissioners[CHIP_DEVICE_CONFIG_MAX_DISCOVERED_NODES];
 };
 
 } // namespace Controller
diff --git a/src/controller/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp
index b32eb7c..1449286 100644
--- a/src/controller/CHIPDeviceController.cpp
+++ b/src/controller/CHIPDeviceController.cpp
@@ -134,12 +134,12 @@
         params.systemState->ExchangeMgr()->RegisterUnsolicitedMessageHandlerForProtocol(Protocols::TempZCL::Id, this));
     params.systemState->ExchangeMgr()->SetDelegate(this);
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-    Mdns::Resolver::Instance().Init(params.systemState->InetLayer());
-    Mdns::Resolver::Instance().SetResolverDelegate(this);
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+    Dnssd::Resolver::Instance().Init(params.systemState->InetLayer());
+    Dnssd::Resolver::Instance().SetResolverDelegate(this);
     RegisterDeviceAddressUpdateDelegate(params.deviceAddressUpdateDelegate);
     RegisterDeviceDiscoveryDelegate(params.deviceDiscoveryDelegate);
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
     InitDataModelHandler(params.systemState->ExchangeMgr());
 
@@ -216,9 +216,9 @@
 
     mState = State::NotInitialized;
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-    Mdns::Resolver::Instance().Shutdown();
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+    Dnssd::Resolver::Instance().Shutdown();
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
     mStorageDelegate = nullptr;
 
@@ -228,11 +228,11 @@
     mSystemState->Release();
     mSystemState = nullptr;
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-    Mdns::Resolver::Instance().SetResolverDelegate(nullptr);
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+    Dnssd::Resolver::Instance().SetResolverDelegate(nullptr);
     mDeviceAddressUpdateDelegate = nullptr;
     mDeviceDiscoveryDelegate     = nullptr;
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
     return CHIP_NO_ERROR;
 }
@@ -326,12 +326,12 @@
 
 CHIP_ERROR DeviceController::UpdateDevice(NodeId deviceId)
 {
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-    return Mdns::Resolver::Instance().ResolveNodeId(PeerId().SetCompressedFabricId(GetCompressedFabricId()).SetNodeId(deviceId),
-                                                    chip::Inet::kIPAddressType_Any);
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+    return Dnssd::Resolver::Instance().ResolveNodeId(PeerId().SetCompressedFabricId(GetCompressedFabricId()).SetNodeId(deviceId),
+                                                     chip::Inet::kIPAddressType_Any);
 #else
     return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE;
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 }
 
 void DeviceController::PersistDevice(Device * device)
@@ -531,8 +531,8 @@
     }
 }
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-void DeviceController::OnNodeIdResolved(const chip::Mdns::ResolvedNodeData & nodeData)
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+void DeviceController::OnNodeIdResolved(const chip::Dnssd::ResolvedNodeData & nodeData)
 {
     CHIP_ERROR err                = CHIP_NO_ERROR;
     Device * device               = nullptr;
@@ -574,7 +574,7 @@
     }
 };
 
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
 ControllerDeviceInitParams DeviceController::GetControllerDeviceInitParams()
 {
@@ -1608,19 +1608,19 @@
 {
     static_cast<DeviceCommissioner *>(aAppState)->OnSessionEstablishmentTimeout();
 }
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-CHIP_ERROR DeviceCommissioner::DiscoverCommissionableNodes(Mdns::DiscoveryFilter filter)
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+CHIP_ERROR DeviceCommissioner::DiscoverCommissionableNodes(Dnssd::DiscoveryFilter filter)
 {
     ReturnErrorOnFailure(SetUpNodeDiscovery());
-    return chip::Mdns::Resolver::Instance().FindCommissionableNodes(filter);
+    return chip::Dnssd::Resolver::Instance().FindCommissionableNodes(filter);
 }
 
-const Mdns::DiscoveredNodeData * DeviceCommissioner::GetDiscoveredDevice(int idx)
+const Dnssd::DiscoveredNodeData * DeviceCommissioner::GetDiscoveredDevice(int idx)
 {
     return GetDiscoveredNode(idx);
 }
 
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
 #if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY // make this commissioner discoverable
 
@@ -1637,23 +1637,23 @@
 
 void DeviceCommissioner::FindCommissionableNode(char * instanceName)
 {
-    Mdns::DiscoveryFilter filter(Mdns::DiscoveryFilterType::kInstanceName, instanceName);
+    Dnssd::DiscoveryFilter filter(Dnssd::DiscoveryFilterType::kInstanceName, instanceName);
     DiscoverCommissionableNodes(filter);
 }
 
-void DeviceCommissioner::OnUserDirectedCommissioningRequest(const Mdns::DiscoveredNodeData & nodeData)
+void DeviceCommissioner::OnUserDirectedCommissioningRequest(const Dnssd::DiscoveredNodeData & nodeData)
 {
     ChipLogDetail(Controller, "------PROMPT USER!! OnUserDirectedCommissioningRequest instance=%s", nodeData.instanceName);
 }
 
-void DeviceCommissioner::OnNodeDiscoveryComplete(const chip::Mdns::DiscoveredNodeData & nodeData)
+void DeviceCommissioner::OnNodeDiscoveryComplete(const chip::Dnssd::DiscoveredNodeData & nodeData)
 {
     if (mUdcServer != nullptr)
     {
         mUdcServer->OnCommissionableNodeFound(nodeData);
     }
 
-    AbstractMdnsDiscoveryController::OnNodeDiscoveryComplete(nodeData);
+    AbstractDnssdDiscoveryController::OnNodeDiscoveryComplete(nodeData);
 }
 
 #endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY
@@ -1765,8 +1765,8 @@
     commissioner->OnSessionEstablishmentError(static_cast<CHIP_ERROR>(status));
 }
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-void DeviceCommissioner::OnNodeIdResolved(const chip::Mdns::ResolvedNodeData & nodeData)
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+void DeviceCommissioner::OnNodeIdResolved(const chip::Dnssd::ResolvedNodeData & nodeData)
 {
     DeviceController::OnNodeIdResolved(nodeData);
     OperationalDiscoveryComplete(nodeData.mPeerId.GetNodeId());
@@ -1838,7 +1838,7 @@
     case CommissioningStage::kCheckCertificates:
         // For thread and wifi, this should go to network setup then enable. For on-network we can skip right to finding the
         // operational network because the provisioning of certificates will trigger the device to start operational advertising.
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
         return CommissioningStage::kFindOperational; // TODO : once case is working, need to add stages to find and reconnect
                                                      // here.
 #else
@@ -1987,9 +1987,9 @@
     }
     break;
     case CommissioningStage::kFindOperational: {
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
         ChipLogProgress(Controller, "Finding node on operational network");
-        Mdns::Resolver::Instance().ResolveNodeId(
+        Dnssd::Resolver::Instance().ResolveNodeId(
             PeerId().SetCompressedFabricId(GetCompressedFabricId()).SetNodeId(device->GetDeviceId()),
             Inet::IPAddressType::kIPAddressType_Any);
 #endif
diff --git a/src/controller/CHIPDeviceController.h b/src/controller/CHIPDeviceController.h
index f71e95c..8f44fe2 100644
--- a/src/controller/CHIPDeviceController.h
+++ b/src/controller/CHIPDeviceController.h
@@ -30,7 +30,7 @@
 
 #include <app/InteractionModelDelegate.h>
 #include <controller-clusters/zap-generated/CHIPClientCallbacks.h>
-#include <controller/AbstractMdnsDiscoveryController.h>
+#include <controller/AbstractDnssdDiscoveryController.h>
 #include <controller/CHIPDevice.h>
 #include <controller/CHIPDeviceControllerSystemState.h>
 #include <controller/DeviceControllerInteractionModelDelegate.h>
@@ -61,10 +61,10 @@
 #if CONFIG_NETWORK_LAYER_BLE
 #include <ble/BleLayer.h>
 #endif
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 #include <controller/DeviceAddressUpdateDelegate.h>
 #include <controller/DeviceDiscoveryDelegate.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #endif
 
 namespace chip {
@@ -86,7 +86,7 @@
 {
     PersistentStorageDelegate * storageDelegate = nullptr;
     DeviceControllerSystemState * systemState   = nullptr;
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     DeviceAddressUpdateDelegate * deviceAddressUpdateDelegate = nullptr;
     DeviceDiscoveryDelegate * deviceDiscoveryDelegate         = nullptr;
 #endif
@@ -182,8 +182,8 @@
  */
 class DLL_EXPORT DeviceController : public Messaging::ExchangeDelegate,
                                     public Messaging::ExchangeMgrDelegate,
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-                                    public AbstractMdnsDiscoveryController,
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+                                    public AbstractDnssdDiscoveryController,
 #endif
                                     public app::InteractionModelDelegate
 {
@@ -245,7 +245,7 @@
 
     virtual void ReleaseDevice(Device * device);
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     void RegisterDeviceAddressUpdateDelegate(DeviceAddressUpdateDelegate * delegate) { mDeviceAddressUpdateDelegate = delegate; }
     void RegisterDeviceDiscoveryDelegate(DeviceDiscoveryDelegate * delegate) { mDeviceDiscoveryDelegate = delegate; }
 #endif
@@ -291,11 +291,11 @@
     FabricId mFabricId = kUndefinedFabricId;
 
     PersistentStorageDelegate * mStorageDelegate = nullptr;
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     DeviceAddressUpdateDelegate * mDeviceAddressUpdateDelegate = nullptr;
     // TODO(cecille): Make this configuarable.
     static constexpr int kMaxCommissionableNodes = 10;
-    Mdns::DiscoveredNodeData mCommissionableNodes[kMaxCommissionableNodes];
+    Dnssd::DiscoveredNodeData mCommissionableNodes[kMaxCommissionableNodes];
 #endif
     DeviceControllerSystemState * mSystemState = nullptr;
 
@@ -318,12 +318,12 @@
 
     uint16_t mVendorId;
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     //////////// ResolverDelegate Implementation ///////////////
-    void OnNodeIdResolved(const chip::Mdns::ResolvedNodeData & nodeData) override;
+    void OnNodeIdResolved(const chip::Dnssd::ResolvedNodeData & nodeData) override;
     void OnNodeIdResolutionFailed(const chip::PeerId & peerId, CHIP_ERROR error) override;
     DiscoveredNodeList GetDiscoveredNodes() override { return DiscoveredNodeList(mCommissionableNodes); }
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
 private:
     //////////// ExchangeDelegate Implementation ///////////////
@@ -482,7 +482,7 @@
      */
     CHIP_ERROR CloseBleConnection();
 #endif
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     /**
      * @brief
      *   Discover all devices advertising as commissionable.
@@ -490,7 +490,7 @@
      * * @param[in] filter  Browse filter - controller will look for only the specified subtype.
      * @return CHIP_ERROR   The return status
      */
-    CHIP_ERROR DiscoverCommissionableNodes(Mdns::DiscoveryFilter filter);
+    CHIP_ERROR DiscoverCommissionableNodes(Dnssd::DiscoveryFilter filter);
 
     /**
      * @brief
@@ -498,7 +498,7 @@
      *   Should be called on main loop thread.
      * @return const DiscoveredNodeData* info about the selected device. May be nullptr if no information has been returned yet.
      */
-    const Mdns::DiscoveredNodeData * GetDiscoveredDevice(int idx);
+    const Dnssd::DiscoveredNodeData * GetDiscoveredDevice(int idx);
 
     /**
      * @brief
@@ -507,7 +507,7 @@
      */
     int GetMaxCommissionableNodesSupported() { return kMaxCommissionableNodes; }
 
-    void OnNodeIdResolved(const chip::Mdns::ResolvedNodeData & nodeData) override;
+    void OnNodeIdResolved(const chip::Dnssd::ResolvedNodeData & nodeData) override;
     void OnNodeIdResolutionFailed(const chip::PeerId & peerId, CHIP_ERROR error) override;
 #endif
 #if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY // make this commissioner discoverable
@@ -531,16 +531,16 @@
      * @param nodeData DNS-SD node information for the client requesting commissioning
      *
      */
-    void OnUserDirectedCommissioningRequest(const Mdns::DiscoveredNodeData & nodeData) override;
+    void OnUserDirectedCommissioningRequest(const Dnssd::DiscoveredNodeData & nodeData) override;
 
     /**
      * @brief
-     *   Overrides method from AbstractMdnsDiscoveryController
+     *   Overrides method from AbstractDnssdDiscoveryController
      *
      * @param nodeData DNS-SD node information
      *
      */
-    void OnNodeDiscoveryComplete(const chip::Mdns::DiscoveredNodeData & nodeData) override;
+    void OnNodeDiscoveryComplete(const chip::Dnssd::DiscoveredNodeData & nodeData) override;
 
     /**
      * @brief
diff --git a/src/controller/CHIPDeviceControllerFactory.cpp b/src/controller/CHIPDeviceControllerFactory.cpp
index 5fbbc74..ed1ed65 100644
--- a/src/controller/CHIPDeviceControllerFactory.cpp
+++ b/src/controller/CHIPDeviceControllerFactory.cpp
@@ -151,7 +151,7 @@
 
 void DeviceControllerFactory::PopulateInitParams(ControllerInitParams & controllerParams, const SetupParams & params)
 {
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     controllerParams.deviceAddressUpdateDelegate = params.deviceAddressUpdateDelegate;
 #endif
     controllerParams.operationalCredentialsDelegate = params.operationalCredentialsDelegate;
diff --git a/src/controller/CHIPDeviceControllerFactory.h b/src/controller/CHIPDeviceControllerFactory.h
index 1808b66..a84fd2c 100644
--- a/src/controller/CHIPDeviceControllerFactory.h
+++ b/src/controller/CHIPDeviceControllerFactory.h
@@ -38,7 +38,7 @@
 
 struct SetupParams
 {
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     DeviceAddressUpdateDelegate * deviceAddressUpdateDelegate = nullptr;
 #endif
     OperationalCredentialsDelegate * operationalCredentialsDelegate = nullptr;
diff --git a/src/controller/DeviceDiscoveryDelegate.h b/src/controller/DeviceDiscoveryDelegate.h
index 5f7473e..a15acaa 100644
--- a/src/controller/DeviceDiscoveryDelegate.h
+++ b/src/controller/DeviceDiscoveryDelegate.h
@@ -18,7 +18,7 @@
 
 #pragma once
 
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/DLLUtil.h>
 
 namespace chip {
@@ -29,7 +29,7 @@
 {
 public:
     virtual ~DeviceDiscoveryDelegate() {}
-    virtual void OnDiscoveredDevice(const chip::Mdns::DiscoveredNodeData & nodeData) = 0;
+    virtual void OnDiscoveredDevice(const chip::Dnssd::DiscoveredNodeData & nodeData) = 0;
 };
 
 } // namespace Controller
diff --git a/src/controller/SetUpCodePairer.cpp b/src/controller/SetUpCodePairer.cpp
index 19d78bd..dd77636 100644
--- a/src/controller/SetUpCodePairer.cpp
+++ b/src/controller/SetUpCodePairer.cpp
@@ -27,7 +27,7 @@
 #include <controller/SetUpCodePairer.h>
 
 #include <controller/CHIPDeviceController.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/CodeUtils.h>
 
 namespace chip {
@@ -106,20 +106,20 @@
 
 CHIP_ERROR SetUpCodePairer::StartDiscoverOverIP(uint16_t discriminator, bool isShort)
 {
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     mCommissioner->RegisterDeviceDiscoveryDelegate(this);
-    Mdns::DiscoveryFilter filter(isShort ? Mdns::DiscoveryFilterType::kShort : Mdns::DiscoveryFilterType::kLong, discriminator);
+    Dnssd::DiscoveryFilter filter(isShort ? Dnssd::DiscoveryFilterType::kShort : Dnssd::DiscoveryFilterType::kLong, discriminator);
     return mCommissioner->DiscoverCommissionableNodes(filter);
 #else
     return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE;
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 }
 
 CHIP_ERROR SetUpCodePairer::StopConnectOverIP()
 {
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     mCommissioner->RegisterDeviceDiscoveryDelegate(nullptr);
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     return CHIP_NO_ERROR;
 }
 
@@ -160,8 +160,8 @@
 }
 #endif // CONFIG_NETWORK_LAYER_BLE
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
-void SetUpCodePairer::OnDiscoveredDevice(const Mdns::DiscoveredNodeData & nodeData)
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+void SetUpCodePairer::OnDiscoveredDevice(const Dnssd::DiscoveredNodeData & nodeData)
 {
     LogErrorOnFailure(StopConnectOverBle());
     LogErrorOnFailure(StopConnectOverIP());
@@ -172,7 +172,7 @@
     RendezvousParameters params        = RendezvousParameters().SetPeerAddress(peerAddress);
     OnDeviceDiscovered(params);
 }
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
 } // namespace Controller
 } // namespace chip
diff --git a/src/controller/SetUpCodePairer.h b/src/controller/SetUpCodePairer.h
index 5f50a8b..a55fe61 100644
--- a/src/controller/SetUpCodePairer.h
+++ b/src/controller/SetUpCodePairer.h
@@ -38,9 +38,9 @@
 #include <ble/BleLayer.h>
 #endif // CONFIG_NETWORK_BLE
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 #include <controller/DeviceDiscoveryDelegate.h>
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
 namespace chip {
 namespace Controller {
@@ -48,9 +48,9 @@
 class DeviceCommissioner;
 
 class DLL_EXPORT SetUpCodePairer
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     : public DeviceDiscoveryDelegate
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 {
 public:
     SetUpCodePairer(DeviceCommissioner * commissioner) : mCommissioner(commissioner) {}
@@ -73,10 +73,10 @@
 
     void OnDeviceDiscovered(RendezvousParameters & params);
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     /////////// DeviceDiscoveryDelegate Interface /////////
-    void OnDiscoveredDevice(const chip::Mdns::DiscoveredNodeData & nodeData) override;
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS
+    void OnDiscoveredDevice(const chip::Dnssd::DiscoveredNodeData & nodeData) override;
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
 
 #if CONFIG_NETWORK_LAYER_BLE
     Ble::BleLayer * mBleLayer = nullptr;
diff --git a/src/controller/python/BUILD.gn b/src/controller/python/BUILD.gn
index 711ee37..59a845a 100644
--- a/src/controller/python/BUILD.gn
+++ b/src/controller/python/BUILD.gn
@@ -77,7 +77,7 @@
     "${chip_root}/src/controller/data_model",
     "${chip_root}/src/lib",
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns",
+    "${chip_root}/src/lib/dnssd",
     "${chip_root}/src/lib/support",
     "${chip_root}/src/platform",
     "${chip_root}/src/setup_payload",
diff --git a/src/controller/python/ChipCommissionableNodeController-ScriptBinding.cpp b/src/controller/python/ChipCommissionableNodeController-ScriptBinding.cpp
index 9eae9a3..b04de28 100644
--- a/src/controller/python/ChipCommissionableNodeController-ScriptBinding.cpp
+++ b/src/controller/python/ChipCommissionableNodeController-ScriptBinding.cpp
@@ -77,12 +77,12 @@
 {
     for (int i = 0; i < CHIP_DEVICE_CONFIG_MAX_DISCOVERED_NODES; ++i)
     {
-        const chip::Mdns::DiscoveredNodeData * dnsSdInfo = commissionableNodeCtrl->GetDiscoveredCommissioner(i);
+        const chip::Dnssd::DiscoveredNodeData * dnsSdInfo = commissionableNodeCtrl->GetDiscoveredCommissioner(i);
         if (dnsSdInfo == nullptr)
         {
             continue;
         }
-        char rotatingId[chip::Mdns::kMaxRotatingIdLen * 2 + 1] = "";
+        char rotatingId[chip::Dnssd::kMaxRotatingIdLen * 2 + 1] = "";
         Encoding::BytesToUppercaseHexString(dnsSdInfo->rotatingId, dnsSdInfo->rotatingIdLen, rotatingId, sizeof(rotatingId));
 
         ChipLogProgress(Discovery, "Commissioner %d", i);
diff --git a/src/controller/python/ChipDeviceController-ScriptBinding.cpp b/src/controller/python/ChipDeviceController-ScriptBinding.cpp
index fc99cc8..9f9a724 100644
--- a/src/controller/python/ChipDeviceController-ScriptBinding.cpp
+++ b/src/controller/python/ChipDeviceController-ScriptBinding.cpp
@@ -48,7 +48,7 @@
 
 #include <app/CommandSender.h>
 #include <app/InteractionModelEngine.h>
-#include <app/server/Mdns.h>
+#include <app/server/Dnssd.h>
 #include <controller/CHIPDevice.h>
 #include <controller/CHIPDeviceController.h>
 #include <controller/CHIPDeviceControllerFactory.h>
@@ -56,7 +56,7 @@
 #include <credentials/DeviceAttestationVerifier.h>
 #include <credentials/examples/DeviceAttestationVerifierExample.h>
 #include <inet/IPAddress.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/BytesToHex.h>
 #include <lib/support/CHIPMem.h>
 #include <lib/support/CodeUtils.h>
@@ -223,7 +223,7 @@
     err = DeviceControllerFactory::GetInstance().SetupCommissioner(initParams, **outDevCtrl);
     VerifyOrReturnError(err == CHIP_NO_ERROR, err.AsInteger());
 #if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY
-    chip::app::MdnsServer::Instance().StartServer(chip::Mdns::CommissioningMode::kDisabled);
+    chip::app::DnssdServer::Instance().StartServer(chip::Dnssd::CommissioningMode::kDisabled);
 #endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY
 
     return CHIP_NO_ERROR.AsInteger();
@@ -332,7 +332,7 @@
 
 ChipError::StorageType pychip_DeviceController_DiscoverAllCommissionableNodes(chip::Controller::DeviceCommissioner * devCtrl)
 {
-    Mdns::DiscoveryFilter filter(Mdns::DiscoveryFilterType::kNone, static_cast<uint64_t>(0));
+    Dnssd::DiscoveryFilter filter(Dnssd::DiscoveryFilterType::kNone, static_cast<uint64_t>(0));
     return devCtrl->DiscoverCommissionableNodes(filter).AsInteger();
 }
 
@@ -340,7 +340,7 @@
 pychip_DeviceController_DiscoverCommissionableNodesLongDiscriminator(chip::Controller::DeviceCommissioner * devCtrl,
                                                                      uint16_t long_discriminator)
 {
-    Mdns::DiscoveryFilter filter(Mdns::DiscoveryFilterType::kLong, long_discriminator);
+    Dnssd::DiscoveryFilter filter(Dnssd::DiscoveryFilterType::kLong, long_discriminator);
     return devCtrl->DiscoverCommissionableNodes(filter).AsInteger();
 }
 
@@ -348,28 +348,28 @@
 pychip_DeviceController_DiscoverCommissionableNodesShortDiscriminator(chip::Controller::DeviceCommissioner * devCtrl,
                                                                       uint16_t short_discriminator)
 {
-    Mdns::DiscoveryFilter filter(Mdns::DiscoveryFilterType::kShort, short_discriminator);
+    Dnssd::DiscoveryFilter filter(Dnssd::DiscoveryFilterType::kShort, short_discriminator);
     return devCtrl->DiscoverCommissionableNodes(filter).AsInteger();
 }
 
 ChipError::StorageType pychip_DeviceController_DiscoverCommissionableNodesVendor(chip::Controller::DeviceCommissioner * devCtrl,
                                                                                  uint16_t vendor)
 {
-    Mdns::DiscoveryFilter filter(Mdns::DiscoveryFilterType::kVendor, vendor);
+    Dnssd::DiscoveryFilter filter(Dnssd::DiscoveryFilterType::kVendor, vendor);
     return devCtrl->DiscoverCommissionableNodes(filter).AsInteger();
 }
 
 ChipError::StorageType pychip_DeviceController_DiscoverCommissionableNodesDeviceType(chip::Controller::DeviceCommissioner * devCtrl,
                                                                                      uint16_t device_type)
 {
-    Mdns::DiscoveryFilter filter(Mdns::DiscoveryFilterType::kDeviceType, device_type);
+    Dnssd::DiscoveryFilter filter(Dnssd::DiscoveryFilterType::kDeviceType, device_type);
     return devCtrl->DiscoverCommissionableNodes(filter).AsInteger();
 }
 
 ChipError::StorageType
 pychip_DeviceController_DiscoverCommissionableNodesCommissioningEnabled(chip::Controller::DeviceCommissioner * devCtrl)
 {
-    Mdns::DiscoveryFilter filter(Mdns::DiscoveryFilterType::kCommissioningMode);
+    Dnssd::DiscoveryFilter filter(Dnssd::DiscoveryFilterType::kCommissioningMode);
     return devCtrl->DiscoverCommissionableNodes(filter).AsInteger();
 }
 
@@ -384,12 +384,12 @@
 {
     for (int i = 0; i < devCtrl->GetMaxCommissionableNodesSupported(); ++i)
     {
-        const chip::Mdns::DiscoveredNodeData * dnsSdInfo = devCtrl->GetDiscoveredDevice(i);
+        const chip::Dnssd::DiscoveredNodeData * dnsSdInfo = devCtrl->GetDiscoveredDevice(i);
         if (dnsSdInfo == nullptr)
         {
             continue;
         }
-        char rotatingId[chip::Mdns::kMaxRotatingIdLen * 2 + 1] = "";
+        char rotatingId[chip::Dnssd::kMaxRotatingIdLen * 2 + 1] = "";
         Encoding::BytesToUppercaseHexString(dnsSdInfo->rotatingId, dnsSdInfo->rotatingIdLen, rotatingId, sizeof(rotatingId));
 
         ChipLogProgress(Discovery, "Commissionable Node %d", i);
@@ -433,7 +433,7 @@
 bool pychip_DeviceController_GetIPForDiscoveredDevice(chip::Controller::DeviceCommissioner * devCtrl, int idx, char * addrStr,
                                                       uint32_t len)
 {
-    const chip::Mdns::DiscoveredNodeData * dnsSdInfo = devCtrl->GetDiscoveredDevice(idx);
+    const chip::Dnssd::DiscoveredNodeData * dnsSdInfo = devCtrl->GetDiscoveredDevice(idx);
     if (dnsSdInfo == nullptr)
     {
         return false;
@@ -469,7 +469,7 @@
 
 ChipError::StorageType pychip_Resolver_ResolveNode(uint64_t fabricid, chip::NodeId nodeid)
 {
-    return Mdns::Resolver::Instance()
+    return Dnssd::Resolver::Instance()
         .ResolveNodeId(PeerId().SetNodeId(nodeid).SetCompressedFabricId(fabricid), Inet::kIPAddressType_Any)
         .AsInteger();
 }
diff --git a/src/controller/python/chip/discovery/NodeResolution.cpp b/src/controller/python/chip/discovery/NodeResolution.cpp
index 48fd194..80e453f 100644
--- a/src/controller/python/chip/discovery/NodeResolution.cpp
+++ b/src/controller/python/chip/discovery/NodeResolution.cpp
@@ -16,14 +16,14 @@
  */
 
 #include <chip/internal/ChipThreadWork.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/CodeUtils.h>
 #include <platform/CHIPDeviceLayer.h>
 
 #include <type_traits>
 
 using namespace chip;
-using namespace chip::Mdns;
+using namespace chip::Dnssd;
 
 static_assert(std::is_same<uint32_t, ChipError::StorageType>::value, "python assumes CHIP_ERROR maps to c_uint32");
 
diff --git a/src/controller/tests/TestCommissionableNodeController.cpp b/src/controller/tests/TestCommissionableNodeController.cpp
index fa59a2d..1a9fbd8 100644
--- a/src/controller/tests/TestCommissionableNodeController.cpp
+++ b/src/controller/tests/TestCommissionableNodeController.cpp
@@ -21,11 +21,11 @@
 #include <nlunit-test.h>
 
 using namespace chip;
-using namespace chip::Mdns;
+using namespace chip::Dnssd;
 using namespace chip::Controller;
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 namespace {
 
 class MockResolver : public Resolver
@@ -44,7 +44,7 @@
 };
 
 } // namespace
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
 
 namespace {
@@ -54,7 +54,7 @@
 {
     MockResolver resolver;
     CommissionableNodeController controller(&resolver);
-    chip::Mdns::DiscoveredNodeData inNodeData;
+    chip::Dnssd::DiscoveredNodeData inNodeData;
     strncpy(inNodeData.hostName, "mockHostName", sizeof inNodeData.hostName);
     Inet::IPAddress::FromString("192.168.1.10", inNodeData.ipAddress[0]);
     inNodeData.numIPs++;
@@ -73,7 +73,7 @@
 {
     MockResolver resolver;
     CommissionableNodeController controller(&resolver);
-    chip::Mdns::DiscoveredNodeData inNodeData;
+    chip::Dnssd::DiscoveredNodeData inNodeData;
     Inet::IPAddress::FromString("192.168.1.10", inNodeData.ipAddress[0]);
     inNodeData.numIPs++;
     inNodeData.port = 5540;
@@ -90,7 +90,7 @@
 {
     MockResolver resolver;
     CommissionableNodeController controller(&resolver);
-    chip::Mdns::DiscoveredNodeData invalidNodeData, validNodeData;
+    chip::Dnssd::DiscoveredNodeData invalidNodeData, validNodeData;
     // strncpy(inNodeData1.hostName, "mockHostName1", sizeof inNodeData1.hostName);
     Inet::IPAddress::FromString("192.168.1.10", invalidNodeData.ipAddress[0]);
     invalidNodeData.numIPs++;
@@ -138,7 +138,7 @@
     MockResolver resolver;
     CommissionableNodeController controller(&resolver);
     NL_TEST_ASSERT(inSuite,
-                   controller.DiscoverCommissioners(Mdns::DiscoveryFilter(Mdns::DiscoveryFilterType::kDeviceType, 35)) ==
+                   controller.DiscoverCommissioners(Dnssd::DiscoveryFilter(Dnssd::DiscoveryFilterType::kDeviceType, 35)) ==
                        CHIP_NO_ERROR);
 }
 
diff --git a/src/include/platform/CHIPDeviceConfig.h b/src/include/platform/CHIPDeviceConfig.h
index fa1c049..c4cbdbf 100644
--- a/src/include/platform/CHIPDeviceConfig.h
+++ b/src/include/platform/CHIPDeviceConfig.h
@@ -1053,12 +1053,12 @@
 // -------------------- Device DNS-SD Configuration --------------------
 
 /**
- * CHIP_DEVICE_CONFIG_ENABLE_MDNS
+ * CHIP_DEVICE_CONFIG_ENABLE_DNSSD
  *
- * Enable support to use MDNS for service advertising and discovery in CHIP.
+ * Enable support to use DNS-SD for service advertising and discovery in CHIP.
  */
-#ifndef CHIP_DEVICE_CONFIG_ENABLE_MDNS
-#define CHIP_DEVICE_CONFIG_ENABLE_MDNS 0
+#ifndef CHIP_DEVICE_CONFIG_ENABLE_DNSSD
+#define CHIP_DEVICE_CONFIG_ENABLE_DNSSD 0
 #endif
 
 /**
diff --git a/src/include/platform/CHIPDeviceEvent.h b/src/include/platform/CHIPDeviceEvent.h
index e40a89b..4583f6c 100644
--- a/src/include/platform/CHIPDeviceEvent.h
+++ b/src/include/platform/CHIPDeviceEvent.h
@@ -217,9 +217,9 @@
     kOperationalNetworkEnabled,
 
     /**
-     * Signals that mDNS platform layer was initialized and is ready to operate.
+     * Signals that DNS-SD platform layer was initialized and is ready to operate.
      */
-    kMdnsPlatformInitialized,
+    kDnssdPlatformInitialized,
 };
 
 /**
diff --git a/src/include/platform/PlatformManager.h b/src/include/platform/PlatformManager.h
index a4898bc..ca3fe5a 100644
--- a/src/include/platform/PlatformManager.h
+++ b/src/include/platform/PlatformManager.h
@@ -33,7 +33,7 @@
 
 namespace chip {
 
-namespace Mdns {
+namespace Dnssd {
 class DiscoveryImplPlatform;
 }
 
@@ -180,7 +180,7 @@
     friend class PlatformManagerImpl;
     friend class ConnectivityManagerImpl;
     friend class ConfigurationManagerImpl;
-    friend class Mdns::DiscoveryImplPlatform;
+    friend class Dnssd::DiscoveryImplPlatform;
     friend class TraitManager;
     friend class ThreadStackManagerImpl;
     friend class TimeSyncManager;
diff --git a/src/include/platform/ThreadStackManager.h b/src/include/platform/ThreadStackManager.h
index e915b71..2996764 100644
--- a/src/include/platform/ThreadStackManager.h
+++ b/src/include/platform/ThreadStackManager.h
@@ -29,10 +29,10 @@
 
 namespace chip {
 
-namespace Mdns {
+namespace Dnssd {
 struct TextEntry;
-struct MdnsService;
-} // namespace Mdns
+struct DnssdService;
+} // namespace Dnssd
 
 namespace DeviceLayer {
 
@@ -60,9 +60,9 @@
 } // namespace Internal
 
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
-// Declaration of callback types corresponding to MdnsResolveCallback and MdnsBrowseCallback to avoid circular including.
-using DnsResolveCallback = void (*)(void * context, chip::Mdns::MdnsService * result, CHIP_ERROR error);
-using DnsBrowseCallback  = void (*)(void * context, chip::Mdns::MdnsService * services, size_t servicesSize, CHIP_ERROR error);
+// Declaration of callback types corresponding to DnssdResolveCallback and DnssdBrowseCallback to avoid circular including.
+using DnsResolveCallback = void (*)(void * context, chip::Dnssd::DnssdService * result, CHIP_ERROR error);
+using DnsBrowseCallback  = void (*)(void * context, chip::Dnssd::DnssdService * services, size_t servicesSize, CHIP_ERROR error);
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
 
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
@@ -100,7 +100,7 @@
 
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
     CHIP_ERROR AddSrpService(const char * aInstanceName, const char * aName, uint16_t aPort,
-                             const Span<const char * const> & aSubTypes, const Span<const Mdns::TextEntry> & aTxtEntries,
+                             const Span<const char * const> & aSubTypes, const Span<const Dnssd::TextEntry> & aTxtEntries,
                              uint32_t aLeaseInterval, uint32_t aKeyLeaseInterval);
     CHIP_ERROR RemoveSrpService(const char * aInstanceName, const char * aName);
     CHIP_ERROR InvalidateAllSrpServices(); ///< Mark all SRP services as invalid
@@ -254,7 +254,7 @@
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
 inline CHIP_ERROR ThreadStackManager::AddSrpService(const char * aInstanceName, const char * aName, uint16_t aPort,
                                                     const Span<const char * const> & aSubTypes,
-                                                    const Span<const Mdns::TextEntry> & aTxtEntries, uint32_t aLeaseInterval = 0,
+                                                    const Span<const Dnssd::TextEntry> & aTxtEntries, uint32_t aLeaseInterval = 0,
                                                     uint32_t aKeyLeaseInterval = 0)
 {
     return static_cast<ImplClass *>(this)->_AddSrpService(aInstanceName, aName, aPort, aSubTypes, aTxtEntries, aLeaseInterval,
diff --git a/src/lib/BUILD.gn b/src/lib/BUILD.gn
index f978466..d3794ae 100644
--- a/src/lib/BUILD.gn
+++ b/src/lib/BUILD.gn
@@ -24,7 +24,7 @@
     "${chip_root}/src/inet",
     "${chip_root}/src/lib/asn1",
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns",
+    "${chip_root}/src/lib/dnssd",
     "${chip_root}/src/lib/support",
     "${chip_root}/src/messaging",
     "${chip_root}/src/platform",
diff --git a/src/lib/mdns/Advertiser.h b/src/lib/dnssd/Advertiser.h
similarity index 99%
rename from src/lib/mdns/Advertiser.h
rename to src/lib/dnssd/Advertiser.h
index 224ae84..bf840ee 100644
--- a/src/lib/mdns/Advertiser.h
+++ b/src/lib/dnssd/Advertiser.h
@@ -24,13 +24,13 @@
 #include <lib/core/CHIPError.h>
 #include <lib/core/Optional.h>
 #include <lib/core/PeerId.h>
-#include <lib/mdns/TxtFields.h>
+#include <lib/dnssd/TxtFields.h>
 #include <lib/support/CHIPMemString.h>
 #include <lib/support/SafeString.h>
 #include <lib/support/Span.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 static constexpr uint16_t kMdnsPort = 5353;
 // Need 8 bytes to fit a thread mac.
@@ -349,5 +349,5 @@
     static ServiceAdvertiser & Instance();
 };
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/Advertiser_ImplMinimalMdns.cpp b/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp
similarity index 96%
rename from src/lib/mdns/Advertiser_ImplMinimalMdns.cpp
rename to src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp
index 12a1558..5db2b3f 100644
--- a/src/lib/mdns/Advertiser_ImplMinimalMdns.cpp
+++ b/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp
@@ -23,15 +23,15 @@
 #include "MinimalMdnsServer.h"
 #include "ServiceNaming.h"
 
-#include <lib/mdns/Advertiser_ImplMinimalMdnsAllocator.h>
-#include <lib/mdns/minimal/ResponseSender.h>
-#include <lib/mdns/minimal/Server.h>
-#include <lib/mdns/minimal/core/FlatAllocatedQName.h>
-#include <lib/mdns/minimal/responders/IP.h>
-#include <lib/mdns/minimal/responders/Ptr.h>
-#include <lib/mdns/minimal/responders/QueryResponder.h>
-#include <lib/mdns/minimal/responders/Srv.h>
-#include <lib/mdns/minimal/responders/Txt.h>
+#include <lib/dnssd/Advertiser_ImplMinimalMdnsAllocator.h>
+#include <lib/dnssd/minimal_mdns/ResponseSender.h>
+#include <lib/dnssd/minimal_mdns/Server.h>
+#include <lib/dnssd/minimal_mdns/core/FlatAllocatedQName.h>
+#include <lib/dnssd/minimal_mdns/responders/IP.h>
+#include <lib/dnssd/minimal_mdns/responders/Ptr.h>
+#include <lib/dnssd/minimal_mdns/responders/QueryResponder.h>
+#include <lib/dnssd/minimal_mdns/responders/Srv.h>
+#include <lib/dnssd/minimal_mdns/responders/Txt.h>
 #include <lib/support/CHIPMem.h>
 #include <lib/support/RandUtils.h>
 #include <lib/support/StringBuilder.h>
@@ -41,7 +41,7 @@
 // #define DETAIL_LOGGING
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 namespace {
 
 using namespace mdns::Minimal;
@@ -654,7 +654,7 @@
         params.GetCommissionAdvertiseMode() == CommssionAdvertiseMode::kCommissionableNode ? &mQueryResponderAllocatorCommissionable
                                                                                            : &mQueryResponderAllocatorCommissioner;
 
-    char txtVidPid[chip::Mdns::kKeyVendorProductMaxLength + 4];
+    char txtVidPid[chip::Dnssd::kKeyVendorProductMaxLength + 4];
     if (params.GetProductId().HasValue() && params.GetVendorId().HasValue())
     {
         snprintf(txtVidPid, sizeof(txtVidPid), "VP=%d+%d", params.GetVendorId().Value(), params.GetProductId().Value());
@@ -666,14 +666,14 @@
         txtFields[numTxtFields++] = txtVidPid;
     }
 
-    char txtDeviceType[chip::Mdns::kKeyDeviceTypeMaxLength + 4];
+    char txtDeviceType[chip::Dnssd::kKeyDeviceTypeMaxLength + 4];
     if (params.GetDeviceType().HasValue())
     {
         snprintf(txtDeviceType, sizeof(txtDeviceType), "DT=%d", params.GetDeviceType().Value());
         txtFields[numTxtFields++] = txtDeviceType;
     }
 
-    char txtDeviceName[chip::Mdns::kKeyDeviceNameMaxLength + 4];
+    char txtDeviceName[chip::Dnssd::kKeyDeviceNameMaxLength + 4];
     if (params.GetDeviceName().HasValue())
     {
         snprintf(txtDeviceName, sizeof(txtDeviceName), "DN=%s", params.GetDeviceName().Value());
@@ -686,29 +686,29 @@
     if (params.GetCommissionAdvertiseMode() == CommssionAdvertiseMode::kCommissionableNode)
     {
         // a discriminator always exists
-        char txtDiscriminator[chip::Mdns::kKeyDiscriminatorMaxLength + 3];
+        char txtDiscriminator[chip::Dnssd::kKeyDiscriminatorMaxLength + 3];
         snprintf(txtDiscriminator, sizeof(txtDiscriminator), "D=%d", params.GetLongDiscriminator());
         txtFields[numTxtFields++] = txtDiscriminator;
 
-        char txtCommissioningMode[chip::Mdns::kKeyCommissioningModeMaxLength + 4];
+        char txtCommissioningMode[chip::Dnssd::kKeyCommissioningModeMaxLength + 4];
         snprintf(txtCommissioningMode, sizeof(txtCommissioningMode), "CM=%d", static_cast<int>(params.GetCommissioningMode()));
         txtFields[numTxtFields++] = txtCommissioningMode;
 
-        char txtRotatingDeviceId[chip::Mdns::kKeyRotatingIdMaxLength + 4];
+        char txtRotatingDeviceId[chip::Dnssd::kKeyRotatingIdMaxLength + 4];
         if (params.GetRotatingId().HasValue())
         {
             snprintf(txtRotatingDeviceId, sizeof(txtRotatingDeviceId), "RI=%s", params.GetRotatingId().Value());
             txtFields[numTxtFields++] = txtRotatingDeviceId;
         }
 
-        char txtPairingHint[chip::Mdns::kKeyPairingInstructionMaxLength + 4];
+        char txtPairingHint[chip::Dnssd::kKeyPairingInstructionMaxLength + 4];
         if (params.GetPairingHint().HasValue())
         {
             snprintf(txtPairingHint, sizeof(txtPairingHint), "PH=%d", params.GetPairingHint().Value());
             txtFields[numTxtFields++] = txtPairingHint;
         }
 
-        char txtPairingInstr[chip::Mdns::kKeyPairingInstructionMaxLength + 4];
+        char txtPairingInstr[chip::Dnssd::kKeyPairingInstructionMaxLength + 4];
         if (params.GetPairingInstr().HasValue())
         {
             snprintf(txtPairingInstr, sizeof(txtPairingInstr), "PI=%s", params.GetPairingInstr().Value());
@@ -824,5 +824,5 @@
     return gAdvertiser;
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/Advertiser_ImplMinimalMdnsAllocator.h b/src/lib/dnssd/Advertiser_ImplMinimalMdnsAllocator.h
similarity index 92%
rename from src/lib/mdns/Advertiser_ImplMinimalMdnsAllocator.h
rename to src/lib/dnssd/Advertiser_ImplMinimalMdnsAllocator.h
index e36e7c9..f7087b5 100644
--- a/src/lib/mdns/Advertiser_ImplMinimalMdnsAllocator.h
+++ b/src/lib/dnssd/Advertiser_ImplMinimalMdnsAllocator.h
@@ -20,19 +20,19 @@
 #include <inttypes.h>
 
 #include <lib/core/CHIPError.h>
-#include <lib/mdns/minimal/core/FlatAllocatedQName.h>
-#include <lib/mdns/minimal/core/QName.h>
-#include <lib/mdns/minimal/responders/IP.h>
-#include <lib/mdns/minimal/responders/Ptr.h>
-#include <lib/mdns/minimal/responders/QueryResponder.h>
-#include <lib/mdns/minimal/responders/RecordResponder.h>
-#include <lib/mdns/minimal/responders/Srv.h>
-#include <lib/mdns/minimal/responders/Txt.h>
+#include <lib/dnssd/minimal_mdns/core/FlatAllocatedQName.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
+#include <lib/dnssd/minimal_mdns/responders/IP.h>
+#include <lib/dnssd/minimal_mdns/responders/Ptr.h>
+#include <lib/dnssd/minimal_mdns/responders/QueryResponder.h>
+#include <lib/dnssd/minimal_mdns/responders/RecordResponder.h>
+#include <lib/dnssd/minimal_mdns/responders/Srv.h>
+#include <lib/dnssd/minimal_mdns/responders/Txt.h>
 #include <lib/support/CHIPMem.h>
 #include <lib/support/logging/CHIPLogging.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 template <size_t kMaxRecords>
 class QueryResponderAllocator
@@ -196,5 +196,5 @@
     }
 };
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/Advertiser_ImplNone.cpp b/src/lib/dnssd/Advertiser_ImplNone.cpp
similarity index 72%
rename from src/lib/mdns/Advertiser_ImplNone.cpp
rename to src/lib/dnssd/Advertiser_ImplNone.cpp
index fe6bf0b..59f205e 100644
--- a/src/lib/mdns/Advertiser_ImplNone.cpp
+++ b/src/lib/dnssd/Advertiser_ImplNone.cpp
@@ -20,7 +20,7 @@
 #include <lib/support/logging/CHIPLogging.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 namespace {
 
 class NoneAdvertiser : public ServiceAdvertiser
@@ -28,7 +28,7 @@
 public:
     CHIP_ERROR Init(chip::Inet::InetLayer * inetLayet) override
     {
-        ChipLogError(Discovery, "mDNS advertising not available. mDNS init disabled.");
+        ChipLogError(Discovery, "DNS-SD advertising not available. DNS-SD init disabled.");
         return CHIP_ERROR_NOT_IMPLEMENTED;
     }
 
@@ -36,31 +36,31 @@
 
     CHIP_ERROR RemoveServices() override
     {
-        ChipLogError(Discovery, "mDNS advertising not available. Removing services failed.");
+        ChipLogError(Discovery, "DNS-SD advertising not available. Removing services failed.");
         return CHIP_ERROR_NOT_IMPLEMENTED;
     }
 
     CHIP_ERROR Advertise(const OperationalAdvertisingParameters & params) override
     {
-        ChipLogError(Discovery, "mDNS advertising not available. Operational Advertisement failed.");
+        ChipLogError(Discovery, "DNS-SD advertising not available. Operational Advertisement failed.");
         return CHIP_ERROR_NOT_IMPLEMENTED;
     }
 
     CHIP_ERROR Advertise(const CommissionAdvertisingParameters & params) override
     {
-        ChipLogError(Discovery, "mDNS advertising not available. Commisioning Advertisement failed.");
+        ChipLogError(Discovery, "DNS-SD advertising not available. Commisioning Advertisement failed.");
         return CHIP_ERROR_NOT_IMPLEMENTED;
     }
 
     CHIP_ERROR FinalizeServiceUpdate() override
     {
-        ChipLogError(Discovery, "mDNS advertising not available. Finalizing service update failed.");
+        ChipLogError(Discovery, "DNS-SD advertising not available. Finalizing service update failed.");
         return CHIP_ERROR_NOT_IMPLEMENTED;
     }
 
     CHIP_ERROR GetCommissionableInstanceName(char * instanceName, size_t maxLength) override
     {
-        ChipLogError(Discovery, "mDNS advertising not available. mDNS GetCommissionableInstanceName not available.");
+        ChipLogError(Discovery, "DNS-SD advertising not available. DNS-SD GetCommissionableInstanceName not available.");
         return CHIP_ERROR_NOT_IMPLEMENTED;
     }
 };
@@ -74,5 +74,5 @@
     return gAdvertiser;
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/AllInterfacesListenIterator.h b/src/lib/dnssd/AllInterfacesListenIterator.h
similarity index 97%
rename from src/lib/mdns/AllInterfacesListenIterator.h
rename to src/lib/dnssd/AllInterfacesListenIterator.h
index de4c5a8..66658ec 100644
--- a/src/lib/mdns/AllInterfacesListenIterator.h
+++ b/src/lib/dnssd/AllInterfacesListenIterator.h
@@ -19,10 +19,10 @@
 
 #include <stdio.h>
 
-#include <lib/mdns/minimal/Server.h>
+#include <lib/dnssd/minimal_mdns/Server.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 /// Checks if the current interface is powered on
 /// and not local loopback.
@@ -126,5 +126,5 @@
     }
 };
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/BUILD.gn b/src/lib/dnssd/BUILD.gn
similarity index 87%
rename from src/lib/mdns/BUILD.gn
rename to src/lib/dnssd/BUILD.gn
index 56dc1d5..c209322 100644
--- a/src/lib/mdns/BUILD.gn
+++ b/src/lib/dnssd/BUILD.gn
@@ -17,10 +17,10 @@
 import("${chip_root}/src/platform/device.gni")
 
 source_set("platform_header") {
-  sources = [ "platform/Mdns.h" ]
+  sources = [ "platform/Dnssd.h" ]
 }
 
-static_library("mdns") {
+static_library("dnssd") {
   public_deps = [
     ":platform_header",
     "${chip_root}/src/lib/core",
@@ -29,7 +29,7 @@
 
   sources = [
     "Advertiser.h",
-    "MdnsCache.h",
+    "DnssdCache.h",
     "Resolver.h",
     "ServiceNaming.cpp",
     "ServiceNaming.h",
@@ -49,7 +49,7 @@
       "MinimalMdnsServer.h",
       "Resolver_ImplMinimalMdns.cpp",
     ]
-    public_deps += [ "${chip_root}/src/lib/mdns/minimal" ]
+    public_deps += [ "${chip_root}/src/lib/dnssd/minimal_mdns" ]
   } else if (chip_mdns == "platform") {
     sources += [
       "Discovery_ImplPlatform.cpp",
@@ -57,6 +57,6 @@
     ]
     public_deps += [ "${chip_root}/src/platform" ]
   } else {
-    assert(false, "Unknown mDNS advertiser implementation.")
+    assert(false, "Unknown Dnssd advertiser implementation.")
   }
 }
diff --git a/src/lib/mdns/Discovery_ImplPlatform.cpp b/src/lib/dnssd/Discovery_ImplPlatform.cpp
similarity index 87%
rename from src/lib/mdns/Discovery_ImplPlatform.cpp
rename to src/lib/dnssd/Discovery_ImplPlatform.cpp
index 08e0179..83b21cf 100644
--- a/src/lib/mdns/Discovery_ImplPlatform.cpp
+++ b/src/lib/dnssd/Discovery_ImplPlatform.cpp
@@ -15,16 +15,16 @@
  *    limitations under the License.
  */
 
-#include <lib/mdns/Discovery_ImplPlatform.h>
+#include <lib/dnssd/Discovery_ImplPlatform.h>
 
 #include <inttypes.h>
 
 #include <lib/core/CHIPConfig.h>
 #include <lib/core/CHIPSafeCasts.h>
-#include <lib/mdns/MdnsCache.h>
-#include <lib/mdns/ServiceNaming.h>
-#include <lib/mdns/TxtFields.h>
-#include <lib/mdns/platform/Mdns.h>
+#include <lib/dnssd/DnssdCache.h>
+#include <lib/dnssd/ServiceNaming.h>
+#include <lib/dnssd/TxtFields.h>
+#include <lib/dnssd/platform/Dnssd.h>
 #include <lib/support/CHIPMemString.h>
 #include <lib/support/CodeUtils.h>
 #include <lib/support/ErrorStr.h>
@@ -34,19 +34,19 @@
 #include <platform/CHIPDeviceLayer.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 DiscoveryImplPlatform DiscoveryImplPlatform::sManager;
 #if CHIP_CONFIG_MDNS_CACHE_SIZE > 0
-MdnsCache<CHIP_CONFIG_MDNS_CACHE_SIZE> DiscoveryImplPlatform::sMdnsCache;
+DnssdCache<CHIP_CONFIG_MDNS_CACHE_SIZE> DiscoveryImplPlatform::sDnssdCache;
 #endif
 
 DiscoveryImplPlatform::DiscoveryImplPlatform() = default;
 
 CHIP_ERROR DiscoveryImplPlatform::InitImpl()
 {
-    ReturnErrorCodeIf(mMdnsInitialized, CHIP_NO_ERROR);
-    ReturnErrorOnFailure(ChipMdnsInit(HandleMdnsInit, HandleMdnsError, this));
+    ReturnErrorCodeIf(mDnssdInitialized, CHIP_NO_ERROR);
+    ReturnErrorOnFailure(ChipDnssdInit(HandleDnssdInit, HandleDnssdError, this));
     mCommissionInstanceName = GetRandU64();
 
     return CHIP_NO_ERROR;
@@ -54,38 +54,38 @@
 
 void DiscoveryImplPlatform::Shutdown()
 {
-    VerifyOrReturn(mMdnsInitialized);
-    ChipMdnsShutdown();
+    VerifyOrReturn(mDnssdInitialized);
+    ChipDnssdShutdown();
 }
 
-void DiscoveryImplPlatform::HandleMdnsInit(void * context, CHIP_ERROR initError)
+void DiscoveryImplPlatform::HandleDnssdInit(void * context, CHIP_ERROR initError)
 {
     DiscoveryImplPlatform * publisher = static_cast<DiscoveryImplPlatform *>(context);
 
     if (initError == CHIP_NO_ERROR)
     {
-        publisher->mMdnsInitialized = true;
+        publisher->mDnssdInitialized = true;
 
 #if !CHIP_DEVICE_LAYER_NONE
         // Post an event that will start advertising
         chip::DeviceLayer::ChipDeviceEvent event;
-        event.Type = chip::DeviceLayer::DeviceEventType::kMdnsPlatformInitialized;
+        event.Type = chip::DeviceLayer::DeviceEventType::kDnssdPlatformInitialized;
 
         CHIP_ERROR error = chip::DeviceLayer::PlatformMgr().PostEvent(&event);
         if (error != CHIP_NO_ERROR)
         {
-            ChipLogError(Discovery, "Posting mDNS platform initialized event failed with %s", chip::ErrorStr(error));
+            ChipLogError(Discovery, "Posting DNS-SD platform initialized event failed with %s", chip::ErrorStr(error));
         }
 #endif
     }
     else
     {
-        ChipLogError(Discovery, "mDNS initialization failed with %s", chip::ErrorStr(initError));
-        publisher->mMdnsInitialized = false;
+        ChipLogError(Discovery, "DNS-SD initialization failed with %s", chip::ErrorStr(initError));
+        publisher->mDnssdInitialized = false;
     }
 }
 
-void DiscoveryImplPlatform::HandleMdnsError(void * context, CHIP_ERROR error)
+void DiscoveryImplPlatform::HandleDnssdError(void * context, CHIP_ERROR error)
 {
     DiscoveryImplPlatform * publisher = static_cast<DiscoveryImplPlatform *>(context);
     if (error == CHIP_ERROR_FORCED_RESET)
@@ -106,13 +106,13 @@
     }
     else
     {
-        ChipLogError(Discovery, "mDNS error: %s", chip::ErrorStr(error));
+        ChipLogError(Discovery, "DNS-SD error: %s", chip::ErrorStr(error));
     }
 }
 
 CHIP_ERROR DiscoveryImplPlatform::GetCommissionableInstanceName(char * instanceName, size_t maxLength)
 {
-    if (maxLength < (chip::Mdns::kMaxInstanceNameSize + 1))
+    if (maxLength < (chip::Dnssd::kMaxInstanceNameSize + 1))
     {
         return CHIP_ERROR_NO_MEMORY;
     }
@@ -196,7 +196,7 @@
 CHIP_ERROR DiscoveryImplPlatform::Advertise(const CommissionAdvertisingParameters & params)
 {
     CHIP_ERROR error = CHIP_NO_ERROR;
-    MdnsService service;
+    DnssdService service;
     // add newline to lengths for TXT entries
     char discriminatorBuf[kKeyDiscriminatorMaxLength + 1];
     char vendorProductBuf[kKeyVendorProductMaxLength + 1];
@@ -222,7 +222,7 @@
     const char * subTypes[kSubTypeMaxNumber];
     size_t subTypeSize = 0;
 
-    if (!mMdnsInitialized)
+    if (!mDnssdInitialized)
     {
         return CHIP_ERROR_INCORRECT_STATE;
     }
@@ -230,7 +230,7 @@
     error = MakeHostName(service.mHostName, sizeof(service.mHostName), params.GetMac());
     if (error != CHIP_NO_ERROR)
     {
-        ChipLogError(Discovery, "Failed to create mdns hostname: %s", ErrorStr(error));
+        ChipLogError(Discovery, "Failed to create dnssd hostname: %s", ErrorStr(error));
         return error;
     }
 
@@ -244,7 +244,7 @@
     {
         strncpy(service.mType, kCommissionerServiceName, sizeof(service.mType));
     }
-    service.mProtocol = MdnsServiceProtocol::kMdnsProtocolUdp;
+    service.mProtocol = DnssdServiceProtocol::kDnssdProtocolUdp;
 
     if (params.GetVendorId().HasValue())
     {
@@ -351,7 +351,7 @@
     service.mSubTypes      = subTypes;
     service.mSubTypeSize   = subTypeSize;
     service.mAddressType   = Inet::kIPAddressType_Any;
-    error                  = ChipMdnsPublishService(&service);
+    error                  = ChipDnssdPublishService(&service);
 
     if (error == CHIP_NO_ERROR)
     {
@@ -374,7 +374,7 @@
 }
 
 #ifdef DETAIL_LOGGING
-void DiscoveryImplPlatform::PrintEntries(const MdnsService * service)
+void DiscoveryImplPlatform::PrintEntries(const DnssdService * service)
 {
     printf("printEntries port=%d, mTextEntrySize=%d, mSubTypeSize=%d\n", (int) (service->mPort), (int) (service->mTextEntrySize),
            (int) (service->mSubTypeSize));
@@ -392,7 +392,7 @@
 
 CHIP_ERROR DiscoveryImplPlatform::Advertise(const OperationalAdvertisingParameters & params)
 {
-    MdnsService service;
+    DnssdService service;
     CHIP_ERROR error = CHIP_NO_ERROR;
 
     char compressedFabricIdSub[kSubTypeCompressedFabricIdMaxLength + 1];
@@ -420,12 +420,12 @@
     error = MakeHostName(service.mHostName, sizeof(service.mHostName), params.GetMac());
     if (error != CHIP_NO_ERROR)
     {
-        ChipLogError(Discovery, "Failed to create mdns hostname: %s", ErrorStr(error));
+        ChipLogError(Discovery, "Failed to create dnssd hostname: %s", ErrorStr(error));
         return error;
     }
     ReturnErrorOnFailure(MakeInstanceName(service.mName, sizeof(service.mName), params.GetPeerId()));
     strncpy(service.mType, kOperationalServiceName, sizeof(service.mType));
-    service.mProtocol      = MdnsServiceProtocol::kMdnsProtocolTcp;
+    service.mProtocol      = DnssdServiceProtocol::kDnssdProtocolTcp;
     service.mPort          = params.GetPort();
     service.mTextEntries   = txtEntries;
     service.mTextEntrySize = textEntrySize;
@@ -433,7 +433,7 @@
     service.mAddressType   = Inet::kIPAddressType_Any;
     service.mSubTypes      = subTypes;
     service.mSubTypeSize   = subTypeSize;
-    error                  = ChipMdnsPublishService(&service);
+    error                  = ChipDnssdPublishService(&service);
 
     if (error == CHIP_NO_ERROR)
     {
@@ -445,7 +445,7 @@
 
 CHIP_ERROR DiscoveryImplPlatform::RemoveServices()
 {
-    ReturnErrorOnFailure(ChipMdnsRemoveServices());
+    ReturnErrorOnFailure(ChipDnssdRemoveServices());
 
     mIsOperationalPublishing        = false;
     mIsCommissionableNodePublishing = false;
@@ -456,7 +456,7 @@
 
 CHIP_ERROR DiscoveryImplPlatform::FinalizeServiceUpdate()
 {
-    return ChipMdnsFinalizeServiceUpdate();
+    return ChipDnssdFinalizeServiceUpdate();
 }
 
 CHIP_ERROR DiscoveryImplPlatform::ResolveNodeId(const PeerId & peerId, Inet::IPAddressType type)
@@ -470,7 +470,7 @@
 
     /* see if the entry is cached and use it.... */
 
-    if (sMdnsCache.Lookup(peerId, addr, port, iface) == CHIP_NO_ERROR)
+    if (sDnssdCache.Lookup(peerId, addr, port, iface) == CHIP_NO_ERROR)
     {
         ResolvedNodeData nodeData;
 
@@ -485,23 +485,23 @@
     }
 #endif
 
-    MdnsService service;
+    DnssdService service;
 
     ReturnErrorOnFailure(MakeInstanceName(service.mName, sizeof(service.mName), peerId));
     strncpy(service.mType, kOperationalServiceName, sizeof(service.mType));
-    service.mProtocol    = MdnsServiceProtocol::kMdnsProtocolTcp;
+    service.mProtocol    = DnssdServiceProtocol::kDnssdProtocolTcp;
     service.mAddressType = type;
-    return ChipMdnsResolve(&service, INET_NULL_INTERFACEID, HandleNodeIdResolve, this);
+    return ChipDnssdResolve(&service, INET_NULL_INTERFACEID, HandleNodeIdResolve, this);
 }
 
-void DiscoveryImplPlatform::HandleNodeBrowse(void * context, MdnsService * services, size_t servicesSize, CHIP_ERROR error)
+void DiscoveryImplPlatform::HandleNodeBrowse(void * context, DnssdService * services, size_t servicesSize, CHIP_ERROR error)
 {
     for (size_t i = 0; i < servicesSize; ++i)
     {
         // For some platforms browsed services are already resolved, so verify if resolve is really needed or call resolve callback
         if (!services[i].mAddress.HasValue())
         {
-            ChipMdnsResolve(&services[i], services[i].mInterface, HandleNodeResolve, context);
+            ChipDnssdResolve(&services[i], services[i].mInterface, HandleNodeResolve, context);
         }
         else
         {
@@ -510,7 +510,7 @@
     }
 }
 
-void DiscoveryImplPlatform::HandleNodeResolve(void * context, MdnsService * result, CHIP_ERROR error)
+void DiscoveryImplPlatform::HandleNodeResolve(void * context, DnssdService * result, CHIP_ERROR error)
 {
     if (error != CHIP_NO_ERROR)
     {
@@ -544,8 +544,8 @@
     char serviceName[kMaxCommisisonableServiceNameSize];
     ReturnErrorOnFailure(MakeServiceTypeName(serviceName, sizeof(serviceName), filter, DiscoveryType::kCommissionableNode));
 
-    return ChipMdnsBrowse(serviceName, MdnsServiceProtocol::kMdnsProtocolUdp, Inet::kIPAddressType_Any, INET_NULL_INTERFACEID,
-                          HandleNodeBrowse, this);
+    return ChipDnssdBrowse(serviceName, DnssdServiceProtocol::kDnssdProtocolUdp, Inet::kIPAddressType_Any, INET_NULL_INTERFACEID,
+                           HandleNodeBrowse, this);
 }
 
 CHIP_ERROR DiscoveryImplPlatform::FindCommissioners(DiscoveryFilter filter)
@@ -554,11 +554,11 @@
     char serviceName[kMaxCommisisonerServiceNameSize];
     ReturnErrorOnFailure(MakeServiceTypeName(serviceName, sizeof(serviceName), filter, DiscoveryType::kCommissionerNode));
 
-    return ChipMdnsBrowse(serviceName, MdnsServiceProtocol::kMdnsProtocolUdp, Inet::kIPAddressType_Any, INET_NULL_INTERFACEID,
-                          HandleNodeBrowse, this);
+    return ChipDnssdBrowse(serviceName, DnssdServiceProtocol::kDnssdProtocolUdp, Inet::kIPAddressType_Any, INET_NULL_INTERFACEID,
+                           HandleNodeBrowse, this);
 }
 
-void DiscoveryImplPlatform::HandleNodeIdResolve(void * context, MdnsService * result, CHIP_ERROR error)
+void DiscoveryImplPlatform::HandleNodeIdResolve(void * context, DnssdService * result, CHIP_ERROR error)
 {
     DiscoveryImplPlatform * mgr = static_cast<DiscoveryImplPlatform *>(context);
 
@@ -594,11 +594,11 @@
 #if CHIP_CONFIG_MDNS_CACHE_SIZE > 0
     // TODO --  define appropriate TTL, for now use 2000 msec (rfc default)
     // figure out way to use TTL value from mDNS packet in  future update
-    error = mgr->sMdnsCache.Insert(nodeData.mPeerId, result->mAddress.Value(), result->mPort, result->mInterface, 2 * 1000);
+    error = mgr->sDnssdCache.Insert(nodeData.mPeerId, result->mAddress.Value(), result->mPort, result->mInterface, 2 * 1000);
 
     if (CHIP_NO_ERROR != error)
     {
-        ChipLogError(Discovery, "MdnsCache insert failed with %s", chip::ErrorStr(error));
+        ChipLogError(Discovery, "DnssdCache insert failed with %s", chip::ErrorStr(error));
     }
 #endif
 
@@ -623,15 +623,15 @@
     return sManager;
 }
 
-ServiceAdvertiser & chip::Mdns::ServiceAdvertiser::Instance()
+ServiceAdvertiser & chip::Dnssd::ServiceAdvertiser::Instance()
 {
     return DiscoveryImplPlatform::GetInstance();
 }
 
-Resolver & chip::Mdns::Resolver::Instance()
+Resolver & chip::Dnssd::Resolver::Instance()
 {
     return DiscoveryImplPlatform::GetInstance();
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/Discovery_ImplPlatform.h b/src/lib/dnssd/Discovery_ImplPlatform.h
similarity index 80%
rename from src/lib/mdns/Discovery_ImplPlatform.h
rename to src/lib/dnssd/Discovery_ImplPlatform.h
index 39c28ff..e2f9d18 100644
--- a/src/lib/mdns/Discovery_ImplPlatform.h
+++ b/src/lib/dnssd/Discovery_ImplPlatform.h
@@ -20,10 +20,10 @@
 #include <inet/InetInterface.h>
 #include <lib/core/CHIPConfig.h>
 #include <lib/core/CHIPError.h>
-#include <lib/mdns/Advertiser.h>
-#include <lib/mdns/MdnsCache.h>
-#include <lib/mdns/Resolver.h>
-#include <lib/mdns/platform/Mdns.h>
+#include <lib/dnssd/Advertiser.h>
+#include <lib/dnssd/DnssdCache.h>
+#include <lib/dnssd/Resolver.h>
+#include <lib/dnssd/platform/Dnssd.h>
 #include <platform/CHIPDeviceConfig.h>
 
 // Enable detailed mDNS logging for publish
@@ -31,7 +31,7 @@
 // #define DETAIL_LOGGING
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 class DiscoveryImplPlatform : public ServiceAdvertiser, public Resolver
 {
@@ -65,14 +65,14 @@
     CHIP_ERROR PublishUnprovisionedDevice(chip::Inet::IPAddressType addressType, chip::Inet::InterfaceId interface);
     CHIP_ERROR PublishProvisionedDevice(chip::Inet::IPAddressType addressType, chip::Inet::InterfaceId interface);
 
-    static void HandleNodeIdResolve(void * context, MdnsService * result, CHIP_ERROR error);
-    static void HandleMdnsInit(void * context, CHIP_ERROR initError);
-    static void HandleMdnsError(void * context, CHIP_ERROR initError);
-    static void HandleNodeBrowse(void * context, MdnsService * services, size_t servicesSize, CHIP_ERROR error);
-    static void HandleNodeResolve(void * context, MdnsService * result, CHIP_ERROR error);
+    static void HandleNodeIdResolve(void * context, DnssdService * result, CHIP_ERROR error);
+    static void HandleDnssdInit(void * context, CHIP_ERROR initError);
+    static void HandleDnssdError(void * context, CHIP_ERROR initError);
+    static void HandleNodeBrowse(void * context, DnssdService * services, size_t servicesSize, CHIP_ERROR error);
+    static void HandleNodeResolve(void * context, DnssdService * result, CHIP_ERROR error);
     static CHIP_ERROR GenerateRotatingDeviceId(char rotatingDeviceIdHexBuffer[], size_t & rotatingDeviceIdHexBufferSize);
 #ifdef DETAIL_LOGGING
-    static void PrintEntries(const MdnsService * service);
+    static void PrintEntries(const DnssdService * service);
 #endif
 
     OperationalAdvertisingParameters mOperationalAdvertisingParams;
@@ -83,14 +83,14 @@
     bool mIsCommissionerPublishing       = false;
     uint64_t mCommissionInstanceName;
 
-    bool mMdnsInitialized                = false;
+    bool mDnssdInitialized               = false;
     ResolverDelegate * mResolverDelegate = nullptr;
 
     static DiscoveryImplPlatform sManager;
 #if CHIP_CONFIG_MDNS_CACHE_SIZE > 0
-    static MdnsCache<CHIP_CONFIG_MDNS_CACHE_SIZE> sMdnsCache;
+    static DnssdCache<CHIP_CONFIG_MDNS_CACHE_SIZE> sDnssdCache;
 #endif
 };
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/MdnsCache.h b/src/lib/dnssd/DnssdCache.h
similarity index 88%
rename from src/lib/mdns/MdnsCache.h
rename to src/lib/dnssd/DnssdCache.h
index a3c2e99..279108b 100644
--- a/src/lib/mdns/MdnsCache.h
+++ b/src/lib/dnssd/DnssdCache.h
@@ -35,15 +35,15 @@
 #endif
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 template <size_t CACHE_SIZE>
-class MdnsCache
+class DnssdCache
 {
 public:
-    MdnsCache() : elementsUsed(CACHE_SIZE)
+    DnssdCache() : elementsUsed(CACHE_SIZE)
     {
-        for (MdnsCacheEntry & e : mLookupTable)
+        for (DnssdCacheEntry & e : mLookupTable)
         {
             // each unused entry decrements the count
             MarkEntryUnused(e);
@@ -59,7 +59,7 @@
     {
         const uint64_t currentTime = mTimeSource.GetCurrentMonotonicTimeMs();
 
-        MdnsCacheEntry * entry;
+        DnssdCacheEntry * entry;
 
         entry = FindPeerId(peerId, currentTime);
         if (entry)
@@ -86,7 +86,7 @@
 
     CHIP_ERROR Delete(PeerId peerId)
     {
-        MdnsCacheEntry * pentry;
+        DnssdCacheEntry * pentry;
         const uint64_t currentTime = mTimeSource.GetCurrentMonotonicTimeMs();
 
         VerifyOrReturnError(pentry = FindPeerId(peerId, currentTime), CHIP_ERROR_KEY_NOT_FOUND);
@@ -98,7 +98,7 @@
     // given a peerId, find the parameters if its in the cache, or return error
     CHIP_ERROR Lookup(PeerId peerId, Inet::IPAddress & addr, uint16_t & port, Inet::InterfaceId & iface)
     {
-        MdnsCacheEntry * pentry;
+        DnssdCacheEntry * pentry;
         const uint64_t currentTime = mTimeSource.GetCurrentMonotonicTimeMs();
 
         VerifyOrReturnError(pentry = FindPeerId(peerId, currentTime), CHIP_ERROR_KEY_NOT_FOUND);
@@ -116,7 +116,7 @@
         int i = 0;
 
         MdnsLogProgress(Discovery, "cache size = %d", elementsUsed);
-        for (MdnsCacheEntry & e : mLookupTable)
+        for (DnssdCacheEntry & e : mLookupTable)
         {
             if (e.peerId == nullPeerId)
             {
@@ -135,7 +135,7 @@
     }
 
 private:
-    struct MdnsCacheEntry
+    struct DnssdCacheEntry
     {
         PeerId peerId;
         Inet::IPAddress ipAddr;
@@ -147,12 +147,12 @@
     PeerId nullPeerId; // indicates a cache entry is unused
     int elementsUsed;  // running count of how many entries are used -- for a sanity check
 
-    MdnsCacheEntry mLookupTable[CACHE_SIZE];
+    DnssdCacheEntry mLookupTable[CACHE_SIZE];
     Time::TimeSource<Time::Source::kSystem> mTimeSource;
 
-    MdnsCacheEntry * findSlot(uint64_t currentTime)
+    DnssdCacheEntry * findSlot(uint64_t currentTime)
     {
-        for (MdnsCacheEntry & entry : mLookupTable)
+        for (DnssdCacheEntry & entry : mLookupTable)
         {
             if (entry.peerId == nullPeerId)
                 return &entry;
@@ -166,9 +166,9 @@
         return nullptr;
     }
 
-    MdnsCacheEntry * FindPeerId(PeerId peerId, uint64_t current_time)
+    DnssdCacheEntry * FindPeerId(PeerId peerId, uint64_t current_time)
     {
-        for (MdnsCacheEntry & entry : mLookupTable)
+        for (DnssdCacheEntry & entry : mLookupTable)
         {
             if (entry.peerId == peerId)
             {
@@ -190,7 +190,7 @@
     }
 
     // have a method to mark ununused --  so its easy to change
-    void MarkEntryUnused(MdnsCacheEntry & pentry)
+    void MarkEntryUnused(DnssdCacheEntry & pentry)
     {
         pentry.peerId = nullPeerId;
         elementsUsed--;
@@ -201,5 +201,5 @@
 #undef MdnsLogProgress
 #endif
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/MinimalMdnsServer.cpp b/src/lib/dnssd/MinimalMdnsServer.cpp
similarity index 98%
rename from src/lib/mdns/MinimalMdnsServer.cpp
rename to src/lib/dnssd/MinimalMdnsServer.cpp
index ba2f615..a9ae92f 100644
--- a/src/lib/mdns/MinimalMdnsServer.cpp
+++ b/src/lib/dnssd/MinimalMdnsServer.cpp
@@ -17,7 +17,7 @@
 #include "MinimalMdnsServer.h"
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 namespace {
 
 using namespace mdns::Minimal;
@@ -110,5 +110,5 @@
     GlobalMinimalMdnsServer::Server().Shutdown();
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/MinimalMdnsServer.h b/src/lib/dnssd/MinimalMdnsServer.h
similarity index 97%
rename from src/lib/mdns/MinimalMdnsServer.h
rename to src/lib/dnssd/MinimalMdnsServer.h
index e84cff5..7ef7508 100644
--- a/src/lib/mdns/MinimalMdnsServer.h
+++ b/src/lib/dnssd/MinimalMdnsServer.h
@@ -15,10 +15,10 @@
  *    limitations under the License.
  */
 #pragma once
-#include <lib/mdns/minimal/Server.h>
+#include <lib/dnssd/minimal_mdns/Server.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 namespace Internal {
 /// Checks if the current interface is powered on
@@ -121,5 +121,5 @@
     MdnsPacketDelegate * mResponseDelegate         = nullptr;
 };
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/Resolver.h b/src/lib/dnssd/Resolver.h
similarity index 98%
rename from src/lib/mdns/Resolver.h
rename to src/lib/dnssd/Resolver.h
index c9b31f6..e154e14 100644
--- a/src/lib/mdns/Resolver.h
+++ b/src/lib/dnssd/Resolver.h
@@ -30,7 +30,7 @@
 #include <lib/support/BytesToHex.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 // Largest host name is 64-bits in hex.
 static constexpr int kMaxHostNameSize      = 16;
@@ -145,7 +145,7 @@
 #if CHIP_ENABLE_ROTATING_DEVICE_ID
         if (rotatingIdLen > 0)
         {
-            char rotatingIdString[chip::Mdns::kMaxRotatingIdLen * 2 + 1] = "";
+            char rotatingIdString[chip::Dnssd::kMaxRotatingIdLen * 2 + 1] = "";
             Encoding::BytesToUppercaseHexString(rotatingId, rotatingIdLen, rotatingIdString, sizeof(rotatingIdString));
             ChipLogDetail(Discovery, "Rotating ID: %s", rotatingIdString);
         }
@@ -302,5 +302,5 @@
     static Resolver & Instance();
 };
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/Resolver_ImplMinimalMdns.cpp b/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp
similarity index 95%
rename from src/lib/mdns/Resolver_ImplMinimalMdns.cpp
rename to src/lib/dnssd/Resolver_ImplMinimalMdns.cpp
index a3374ed..08dc84a 100644
--- a/src/lib/mdns/Resolver_ImplMinimalMdns.cpp
+++ b/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp
@@ -15,20 +15,20 @@
  *    limitations under the License.
  */
 
-#include "MdnsCache.h"
+#include "DnssdCache.h"
 #include "Resolver.h"
 
 #include <limits>
 
 #include <lib/core/CHIPConfig.h>
-#include <lib/mdns/MinimalMdnsServer.h>
-#include <lib/mdns/ServiceNaming.h>
-#include <lib/mdns/TxtFields.h>
-#include <lib/mdns/minimal/ActiveResolveAttempts.h>
-#include <lib/mdns/minimal/Parser.h>
-#include <lib/mdns/minimal/QueryBuilder.h>
-#include <lib/mdns/minimal/RecordData.h>
-#include <lib/mdns/minimal/core/FlatAllocatedQName.h>
+#include <lib/dnssd/MinimalMdnsServer.h>
+#include <lib/dnssd/ServiceNaming.h>
+#include <lib/dnssd/TxtFields.h>
+#include <lib/dnssd/minimal_mdns/ActiveResolveAttempts.h>
+#include <lib/dnssd/minimal_mdns/Parser.h>
+#include <lib/dnssd/minimal_mdns/QueryBuilder.h>
+#include <lib/dnssd/minimal_mdns/RecordData.h>
+#include <lib/dnssd/minimal_mdns/core/FlatAllocatedQName.h>
 #include <lib/support/CHIPMemString.h>
 #include <lib/support/logging/CHIPLogging.h>
 
@@ -38,7 +38,7 @@
 #undef MINMDNS_RESOLVER_OVERLY_VERBOSE
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 namespace {
 
 const ByteSpan GetSpan(const mdns::Minimal::BytesRange & range)
@@ -64,13 +64,13 @@
 constexpr uint16_t kMdnsPort        = 5353;
 
 using namespace mdns::Minimal;
-using MdnsCacheType = Mdns::MdnsCache<CHIP_CONFIG_MDNS_CACHE_SIZE>;
+using DnssdCacheType = Dnssd::DnssdCache<CHIP_CONFIG_MDNS_CACHE_SIZE>;
 
 class PacketDataReporter : public ParserDelegate
 {
 public:
     PacketDataReporter(ResolverDelegate * delegate, chip::Inet::InterfaceId interfaceId, DiscoveryType discoveryType,
-                       const BytesRange & packet, MdnsCacheType & mdnsCache) :
+                       const BytesRange & packet, DnssdCacheType & mdnsCache) :
         mDelegate(delegate),
         mDiscoveryType(discoveryType), mPacketRange(packet)
     {
@@ -374,8 +374,8 @@
     static constexpr int kMaxQnameSize = 100;
     char qnameStorage[kMaxQnameSize];
     // should this be static?
-    // original version had:    static Mdns::IPCache<CHIP_CONFIG_IPCACHE_SIZE, CHIP_CONFIG_TTL_MS> sIPCache;
-    MdnsCacheType sMdnsCache;
+    // original version had:    static Dnssd::IPCache<CHIP_CONFIG_IPCACHE_SIZE, CHIP_CONFIG_TTL_MS> sIPCache;
+    DnssdCacheType sDnssdCache;
 };
 
 void MinMdnsResolver::OnMdnsPacketData(const BytesRange & data, const chip::Inet::IPPacketInfo * info)
@@ -385,7 +385,7 @@
         return;
     }
 
-    PacketDataReporter reporter(mDelegate, info->Interface, mDiscoveryType, data, sMdnsCache);
+    PacketDataReporter reporter(mDelegate, info->Interface, mDiscoveryType, data, sDnssdCache);
 
     if (!ParsePacket(data, &reporter))
     {
@@ -588,10 +588,10 @@
 
 } // namespace
 
-Resolver & chip::Mdns::Resolver::Instance()
+Resolver & chip::Dnssd::Resolver::Instance()
 {
     return gResolver;
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/Resolver_ImplNone.cpp b/src/lib/dnssd/Resolver_ImplNone.cpp
similarity index 88%
rename from src/lib/mdns/Resolver_ImplNone.cpp
rename to src/lib/dnssd/Resolver_ImplNone.cpp
index 613d93b..fc1f087 100644
--- a/src/lib/mdns/Resolver_ImplNone.cpp
+++ b/src/lib/dnssd/Resolver_ImplNone.cpp
@@ -20,7 +20,7 @@
 #include <lib/support/logging/CHIPLogging.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 namespace {
 
 class NoneResolver : public Resolver
@@ -32,7 +32,7 @@
 
     CHIP_ERROR ResolveNodeId(const PeerId & peerId, Inet::IPAddressType type) override
     {
-        ChipLogError(Discovery, "Failed to resolve node ID: mDNS resolving not available");
+        ChipLogError(Discovery, "Failed to resolve node ID: dnssd resolving not available");
         return CHIP_ERROR_NOT_IMPLEMENTED;
     }
     CHIP_ERROR FindCommissionableNodes(DiscoveryFilter filter = DiscoveryFilter()) override { return CHIP_ERROR_NOT_IMPLEMENTED; }
@@ -43,9 +43,9 @@
 
 } // namespace
 
-Resolver & chip::Mdns::Resolver::Instance()
+Resolver & chip::Dnssd::Resolver::Instance()
 {
     return gResolver;
 }
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/ServiceNaming.cpp b/src/lib/dnssd/ServiceNaming.cpp
similarity index 99%
rename from src/lib/mdns/ServiceNaming.cpp
rename to src/lib/dnssd/ServiceNaming.cpp
index 5ccc6a3..1dff658 100644
--- a/src/lib/mdns/ServiceNaming.cpp
+++ b/src/lib/dnssd/ServiceNaming.cpp
@@ -26,7 +26,7 @@
 #include <string.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 CHIP_ERROR MakeInstanceName(char * buffer, size_t bufferLen, const PeerId & peerId)
 {
@@ -196,5 +196,5 @@
     return (requiredSize <= (bufferLen - 1)) ? CHIP_NO_ERROR : CHIP_ERROR_NO_MEMORY;
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/ServiceNaming.h b/src/lib/dnssd/ServiceNaming.h
similarity index 97%
rename from src/lib/mdns/ServiceNaming.h
rename to src/lib/dnssd/ServiceNaming.h
index ecb110d..3b903a9 100644
--- a/src/lib/mdns/ServiceNaming.h
+++ b/src/lib/dnssd/ServiceNaming.h
@@ -19,14 +19,14 @@
 
 #include <lib/core/CHIPError.h>
 #include <lib/core/PeerId.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/Span.h>
 
 #include <cstddef>
 #include <cstdint>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 constexpr size_t kMaxSubtypeDescSize           = 19; // _I service subtype = 16 chars for 64-bit id, + 2 for "_I" + nullchar
 constexpr char kSubtypeServiceNamePart[]       = "_sub";
 constexpr char kCommissionableServiceName[]    = "_matterc";
@@ -67,5 +67,5 @@
 
 CHIP_ERROR MakeServiceTypeName(char * buffer, size_t bufferLen, DiscoveryFilter nameDesc, DiscoveryType type);
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/TxtFields.cpp b/src/lib/dnssd/TxtFields.cpp
similarity index 98%
rename from src/lib/mdns/TxtFields.cpp
rename to src/lib/dnssd/TxtFields.cpp
index 0204086..59abac1 100644
--- a/src/lib/mdns/TxtFields.cpp
+++ b/src/lib/dnssd/TxtFields.cpp
@@ -26,14 +26,14 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <lib/mdns/Advertiser.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Advertiser.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/BytesToHex.h>
 #include <lib/support/CHIPMemString.h>
 #include <lib/support/SafeInt.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 namespace Internal {
 
@@ -257,5 +257,5 @@
     }
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/TxtFields.h b/src/lib/dnssd/TxtFields.h
similarity index 98%
rename from src/lib/mdns/TxtFields.h
rename to src/lib/dnssd/TxtFields.h
index d8a8753..dbee250 100644
--- a/src/lib/mdns/TxtFields.h
+++ b/src/lib/dnssd/TxtFields.h
@@ -18,14 +18,14 @@
 #pragma once
 
 #include <lib/core/CHIPError.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/Span.h>
 
 #include <cstddef>
 #include <cstdint>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 // Operational node TXT entries
 static constexpr size_t kTxtRetryIntervalIdleMaxLength   = 7; // [CRI] 0-3600000
@@ -185,5 +185,5 @@
 void FillNodeDataFromTxt(const ByteSpan & key, const ByteSpan & value, DiscoveredNodeData & nodeData);
 void FillNodeDataFromTxt(const ByteSpan & key, const ByteSpan & value, ResolvedNodeData & nodeData);
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/minimal/ActiveResolveAttempts.cpp b/src/lib/dnssd/minimal_mdns/ActiveResolveAttempts.cpp
similarity index 100%
rename from src/lib/mdns/minimal/ActiveResolveAttempts.cpp
rename to src/lib/dnssd/minimal_mdns/ActiveResolveAttempts.cpp
diff --git a/src/lib/mdns/minimal/ActiveResolveAttempts.h b/src/lib/dnssd/minimal_mdns/ActiveResolveAttempts.h
similarity index 100%
rename from src/lib/mdns/minimal/ActiveResolveAttempts.h
rename to src/lib/dnssd/minimal_mdns/ActiveResolveAttempts.h
diff --git a/src/lib/mdns/minimal/BUILD.gn b/src/lib/dnssd/minimal_mdns/BUILD.gn
similarity index 87%
rename from src/lib/mdns/minimal/BUILD.gn
rename to src/lib/dnssd/minimal_mdns/BUILD.gn
index 815e8c5..669628b 100644
--- a/src/lib/mdns/minimal/BUILD.gn
+++ b/src/lib/dnssd/minimal_mdns/BUILD.gn
@@ -14,7 +14,7 @@
 
 import("//build_overrides/chip.gni")
 
-static_library("minimal") {
+static_library("minimal_mdns") {
   sources = [
     "ActiveResolveAttempts.cpp",
     "ActiveResolveAttempts.h",
@@ -35,8 +35,8 @@
   public_deps = [
     "${chip_root}/src/inet",
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns/minimal/core",
-    "${chip_root}/src/lib/mdns/minimal/responders",
+    "${chip_root}/src/lib/dnssd/minimal_mdns/core",
+    "${chip_root}/src/lib/dnssd/minimal_mdns/responders",
     "${chip_root}/src/platform",
   ]
 }
diff --git a/src/lib/mdns/minimal/Parser.cpp b/src/lib/dnssd/minimal_mdns/Parser.cpp
similarity index 100%
rename from src/lib/mdns/minimal/Parser.cpp
rename to src/lib/dnssd/minimal_mdns/Parser.cpp
diff --git a/src/lib/mdns/minimal/Parser.h b/src/lib/dnssd/minimal_mdns/Parser.h
similarity index 95%
rename from src/lib/mdns/minimal/Parser.h
rename to src/lib/dnssd/minimal_mdns/Parser.h
index 3c2a242..2c82b99 100644
--- a/src/lib/mdns/minimal/Parser.h
+++ b/src/lib/dnssd/minimal_mdns/Parser.h
@@ -17,9 +17,9 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/core/Constants.h>
-#include <lib/mdns/minimal/core/DnsHeader.h>
-#include <lib/mdns/minimal/core/QName.h>
+#include <lib/dnssd/minimal_mdns/core/Constants.h>
+#include <lib/dnssd/minimal_mdns/core/DnsHeader.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/Query.h b/src/lib/dnssd/minimal_mdns/Query.h
similarity index 95%
rename from src/lib/mdns/minimal/Query.h
rename to src/lib/dnssd/minimal_mdns/Query.h
index 72015a9..a668731 100644
--- a/src/lib/mdns/minimal/Query.h
+++ b/src/lib/dnssd/minimal_mdns/Query.h
@@ -19,8 +19,8 @@
 
 #include <lib/support/BufferWriter.h>
 
-#include <lib/mdns/minimal/core/Constants.h>
-#include <lib/mdns/minimal/core/QName.h>
+#include <lib/dnssd/minimal_mdns/core/Constants.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/QueryBuilder.h b/src/lib/dnssd/minimal_mdns/QueryBuilder.h
similarity index 95%
rename from src/lib/mdns/minimal/QueryBuilder.h
rename to src/lib/dnssd/minimal_mdns/QueryBuilder.h
index a14efb6..11b6c90 100644
--- a/src/lib/mdns/minimal/QueryBuilder.h
+++ b/src/lib/dnssd/minimal_mdns/QueryBuilder.h
@@ -19,8 +19,8 @@
 
 #include <system/SystemPacketBuffer.h>
 
-#include <lib/mdns/minimal/Query.h>
-#include <lib/mdns/minimal/core/DnsHeader.h>
+#include <lib/dnssd/minimal_mdns/Query.h>
+#include <lib/dnssd/minimal_mdns/core/DnsHeader.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/QueryReplyFilter.h b/src/lib/dnssd/minimal_mdns/QueryReplyFilter.h
similarity index 97%
rename from src/lib/mdns/minimal/QueryReplyFilter.h
rename to src/lib/dnssd/minimal_mdns/QueryReplyFilter.h
index 904df77..ad791f3 100644
--- a/src/lib/mdns/minimal/QueryReplyFilter.h
+++ b/src/lib/dnssd/minimal_mdns/QueryReplyFilter.h
@@ -17,7 +17,7 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/responders/ReplyFilter.h>
+#include <lib/dnssd/minimal_mdns/responders/ReplyFilter.h>
 
 #include "Parser.h"
 #include "Query.h"
diff --git a/src/lib/mdns/minimal/RecordData.cpp b/src/lib/dnssd/minimal_mdns/RecordData.cpp
similarity index 100%
rename from src/lib/mdns/minimal/RecordData.cpp
rename to src/lib/dnssd/minimal_mdns/RecordData.cpp
diff --git a/src/lib/mdns/minimal/RecordData.h b/src/lib/dnssd/minimal_mdns/RecordData.h
similarity index 95%
rename from src/lib/mdns/minimal/RecordData.h
rename to src/lib/dnssd/minimal_mdns/RecordData.h
index 97467c4..6f8628d 100644
--- a/src/lib/mdns/minimal/RecordData.h
+++ b/src/lib/dnssd/minimal_mdns/RecordData.h
@@ -19,8 +19,8 @@
 
 #include <inet/IPAddress.h>
 
-#include <lib/mdns/minimal/core/BytesRange.h>
-#include <lib/mdns/minimal/core/QName.h>
+#include <lib/dnssd/minimal_mdns/core/BytesRange.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/ResponseBuilder.h b/src/lib/dnssd/minimal_mdns/ResponseBuilder.h
similarity index 96%
rename from src/lib/mdns/minimal/ResponseBuilder.h
rename to src/lib/dnssd/minimal_mdns/ResponseBuilder.h
index d208a31..73735d5 100644
--- a/src/lib/mdns/minimal/ResponseBuilder.h
+++ b/src/lib/dnssd/minimal_mdns/ResponseBuilder.h
@@ -19,8 +19,8 @@
 
 #include <system/SystemPacketBuffer.h>
 
-#include <lib/mdns/minimal/core/DnsHeader.h>
-#include <lib/mdns/minimal/records/ResourceRecord.h>
+#include <lib/dnssd/minimal_mdns/core/DnsHeader.h>
+#include <lib/dnssd/minimal_mdns/records/ResourceRecord.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/ResponseSender.cpp b/src/lib/dnssd/minimal_mdns/ResponseSender.cpp
similarity index 100%
rename from src/lib/mdns/minimal/ResponseSender.cpp
rename to src/lib/dnssd/minimal_mdns/ResponseSender.cpp
diff --git a/src/lib/mdns/minimal/ResponseSender.h b/src/lib/dnssd/minimal_mdns/ResponseSender.h
similarity index 98%
rename from src/lib/mdns/minimal/ResponseSender.h
rename to src/lib/dnssd/minimal_mdns/ResponseSender.h
index a0a5e7e..ab7bb31 100644
--- a/src/lib/mdns/minimal/ResponseSender.h
+++ b/src/lib/dnssd/minimal_mdns/ResponseSender.h
@@ -21,7 +21,7 @@
 #include "ResponseBuilder.h"
 #include "Server.h"
 
-#include <lib/mdns/minimal/responders/QueryResponder.h>
+#include <lib/dnssd/minimal_mdns/responders/QueryResponder.h>
 
 #include <inet/InetLayer.h>
 #include <system/SystemPacketBuffer.h>
diff --git a/src/lib/mdns/minimal/Server.cpp b/src/lib/dnssd/minimal_mdns/Server.cpp
similarity index 99%
rename from src/lib/mdns/minimal/Server.cpp
rename to src/lib/dnssd/minimal_mdns/Server.cpp
index 8a8bf4a..f93df2c 100644
--- a/src/lib/mdns/minimal/Server.cpp
+++ b/src/lib/dnssd/minimal_mdns/Server.cpp
@@ -20,7 +20,7 @@
 #include <errno.h>
 #include <utility>
 
-#include <lib/mdns/minimal/core/DnsHeader.h>
+#include <lib/dnssd/minimal_mdns/core/DnsHeader.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/Server.h b/src/lib/dnssd/minimal_mdns/Server.h
similarity index 98%
rename from src/lib/mdns/minimal/Server.h
rename to src/lib/dnssd/minimal_mdns/Server.h
index 6ba53c1..66eef61 100644
--- a/src/lib/mdns/minimal/Server.h
+++ b/src/lib/dnssd/minimal_mdns/Server.h
@@ -23,7 +23,7 @@
 #include <inet/UDPEndPoint.h>
 #include <lib/core/CHIPError.h>
 
-#include <lib/mdns/minimal/core/BytesRange.h>
+#include <lib/dnssd/minimal_mdns/core/BytesRange.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/core/BUILD.gn b/src/lib/dnssd/minimal_mdns/core/BUILD.gn
similarity index 100%
rename from src/lib/mdns/minimal/core/BUILD.gn
rename to src/lib/dnssd/minimal_mdns/core/BUILD.gn
diff --git a/src/lib/mdns/minimal/core/BytesRange.h b/src/lib/dnssd/minimal_mdns/core/BytesRange.h
similarity index 100%
rename from src/lib/mdns/minimal/core/BytesRange.h
rename to src/lib/dnssd/minimal_mdns/core/BytesRange.h
diff --git a/src/lib/mdns/minimal/core/Constants.h b/src/lib/dnssd/minimal_mdns/core/Constants.h
similarity index 100%
rename from src/lib/mdns/minimal/core/Constants.h
rename to src/lib/dnssd/minimal_mdns/core/Constants.h
diff --git a/src/lib/mdns/minimal/core/DnsHeader.h b/src/lib/dnssd/minimal_mdns/core/DnsHeader.h
similarity index 100%
rename from src/lib/mdns/minimal/core/DnsHeader.h
rename to src/lib/dnssd/minimal_mdns/core/DnsHeader.h
diff --git a/src/lib/mdns/minimal/core/FlatAllocatedQName.h b/src/lib/dnssd/minimal_mdns/core/FlatAllocatedQName.h
similarity index 100%
rename from src/lib/mdns/minimal/core/FlatAllocatedQName.h
rename to src/lib/dnssd/minimal_mdns/core/FlatAllocatedQName.h
diff --git a/src/lib/mdns/minimal/core/QName.cpp b/src/lib/dnssd/minimal_mdns/core/QName.cpp
similarity index 100%
rename from src/lib/mdns/minimal/core/QName.cpp
rename to src/lib/dnssd/minimal_mdns/core/QName.cpp
diff --git a/src/lib/mdns/minimal/core/QName.h b/src/lib/dnssd/minimal_mdns/core/QName.h
similarity index 97%
rename from src/lib/mdns/minimal/core/QName.h
rename to src/lib/dnssd/minimal_mdns/core/QName.h
index ae6147a..fc829f8 100644
--- a/src/lib/mdns/minimal/core/QName.h
+++ b/src/lib/dnssd/minimal_mdns/core/QName.h
@@ -27,8 +27,8 @@
 #include <lib/core/CHIPEncoding.h>
 #include <lib/support/BufferWriter.h>
 
-#include <lib/mdns/minimal/core/BytesRange.h>
-#include <lib/mdns/minimal/core/DnsHeader.h>
+#include <lib/dnssd/minimal_mdns/core/BytesRange.h>
+#include <lib/dnssd/minimal_mdns/core/DnsHeader.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/core/tests/BUILD.gn b/src/lib/dnssd/minimal_mdns/core/tests/BUILD.gn
similarity index 94%
rename from src/lib/mdns/minimal/core/tests/BUILD.gn
rename to src/lib/dnssd/minimal_mdns/core/tests/BUILD.gn
index 1331a6d..9484a04 100644
--- a/src/lib/mdns/minimal/core/tests/BUILD.gn
+++ b/src/lib/dnssd/minimal_mdns/core/tests/BUILD.gn
@@ -30,7 +30,7 @@
 
   public_deps = [
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns/minimal/core",
+    "${chip_root}/src/lib/dnssd/minimal_mdns/core",
     "${nlunit_test_root}:nlunit-test",
   ]
 }
diff --git a/src/lib/mdns/minimal/core/tests/TestFlatAllocatedQName.cpp b/src/lib/dnssd/minimal_mdns/core/tests/TestFlatAllocatedQName.cpp
similarity index 98%
rename from src/lib/mdns/minimal/core/tests/TestFlatAllocatedQName.cpp
rename to src/lib/dnssd/minimal_mdns/core/tests/TestFlatAllocatedQName.cpp
index 1f43e22..d24f4e6 100644
--- a/src/lib/mdns/minimal/core/tests/TestFlatAllocatedQName.cpp
+++ b/src/lib/dnssd/minimal_mdns/core/tests/TestFlatAllocatedQName.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/core/FlatAllocatedQName.h>
+#include <lib/dnssd/minimal_mdns/core/FlatAllocatedQName.h>
 #include <lib/support/UnitTestRegistration.h>
 
 #include <nlunit-test.h>
diff --git a/src/lib/mdns/minimal/core/tests/TestQName.cpp b/src/lib/dnssd/minimal_mdns/core/tests/TestQName.cpp
similarity index 99%
rename from src/lib/mdns/minimal/core/tests/TestQName.cpp
rename to src/lib/dnssd/minimal_mdns/core/tests/TestQName.cpp
index 7c51cb7..055176c 100644
--- a/src/lib/mdns/minimal/core/tests/TestQName.cpp
+++ b/src/lib/dnssd/minimal_mdns/core/tests/TestQName.cpp
@@ -16,7 +16,7 @@
  *    limitations under the License.
  */
 
-#include <lib/mdns/minimal/core/QName.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
 #include <lib/support/UnitTestRegistration.h>
 
 #include <nlunit-test.h>
diff --git a/src/lib/mdns/minimal/records/BUILD.gn b/src/lib/dnssd/minimal_mdns/records/BUILD.gn
similarity index 94%
rename from src/lib/mdns/minimal/records/BUILD.gn
rename to src/lib/dnssd/minimal_mdns/records/BUILD.gn
index 8389a90..69dc2dd 100644
--- a/src/lib/mdns/minimal/records/BUILD.gn
+++ b/src/lib/dnssd/minimal_mdns/records/BUILD.gn
@@ -28,7 +28,7 @@
   public_deps = [
     "${chip_root}/src/inet",
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns/minimal/core",
+    "${chip_root}/src/lib/dnssd/minimal_mdns/core",
     "${chip_root}/src/platform",
   ]
 }
diff --git a/src/lib/mdns/minimal/records/IP.cpp b/src/lib/dnssd/minimal_mdns/records/IP.cpp
similarity index 100%
rename from src/lib/mdns/minimal/records/IP.cpp
rename to src/lib/dnssd/minimal_mdns/records/IP.cpp
diff --git a/src/lib/mdns/minimal/records/IP.h b/src/lib/dnssd/minimal_mdns/records/IP.h
similarity index 94%
rename from src/lib/mdns/minimal/records/IP.h
rename to src/lib/dnssd/minimal_mdns/records/IP.h
index 733c881..36f4e02 100644
--- a/src/lib/mdns/minimal/records/IP.h
+++ b/src/lib/dnssd/minimal_mdns/records/IP.h
@@ -19,7 +19,7 @@
 
 #include <inet/IPAddress.h>
 
-#include <lib/mdns/minimal/records/ResourceRecord.h>
+#include <lib/dnssd/minimal_mdns/records/ResourceRecord.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/records/Ptr.h b/src/lib/dnssd/minimal_mdns/records/Ptr.h
similarity index 94%
rename from src/lib/mdns/minimal/records/Ptr.h
rename to src/lib/dnssd/minimal_mdns/records/Ptr.h
index b50e2ff..3186b0e 100644
--- a/src/lib/mdns/minimal/records/Ptr.h
+++ b/src/lib/dnssd/minimal_mdns/records/Ptr.h
@@ -17,7 +17,7 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/records/ResourceRecord.h>
+#include <lib/dnssd/minimal_mdns/records/ResourceRecord.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/records/ResourceRecord.cpp b/src/lib/dnssd/minimal_mdns/records/ResourceRecord.cpp
similarity index 100%
rename from src/lib/mdns/minimal/records/ResourceRecord.cpp
rename to src/lib/dnssd/minimal_mdns/records/ResourceRecord.cpp
diff --git a/src/lib/mdns/minimal/records/ResourceRecord.h b/src/lib/dnssd/minimal_mdns/records/ResourceRecord.h
similarity index 95%
rename from src/lib/mdns/minimal/records/ResourceRecord.h
rename to src/lib/dnssd/minimal_mdns/records/ResourceRecord.h
index e1e5622..51aa2b1 100644
--- a/src/lib/mdns/minimal/records/ResourceRecord.h
+++ b/src/lib/dnssd/minimal_mdns/records/ResourceRecord.h
@@ -19,8 +19,8 @@
 
 #include <cstddef>
 
-#include <lib/mdns/minimal/core/Constants.h>
-#include <lib/mdns/minimal/core/QName.h>
+#include <lib/dnssd/minimal_mdns/core/Constants.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
 
 #include <lib/support/BufferWriter.h>
 
diff --git a/src/lib/mdns/minimal/records/Srv.h b/src/lib/dnssd/minimal_mdns/records/Srv.h
similarity index 96%
rename from src/lib/mdns/minimal/records/Srv.h
rename to src/lib/dnssd/minimal_mdns/records/Srv.h
index 07347cb..ede53db 100644
--- a/src/lib/mdns/minimal/records/Srv.h
+++ b/src/lib/dnssd/minimal_mdns/records/Srv.h
@@ -17,7 +17,7 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/records/ResourceRecord.h>
+#include <lib/dnssd/minimal_mdns/records/ResourceRecord.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/records/Txt.h b/src/lib/dnssd/minimal_mdns/records/Txt.h
similarity index 97%
rename from src/lib/mdns/minimal/records/Txt.h
rename to src/lib/dnssd/minimal_mdns/records/Txt.h
index fe3e0af..54dcb80 100644
--- a/src/lib/mdns/minimal/records/Txt.h
+++ b/src/lib/dnssd/minimal_mdns/records/Txt.h
@@ -19,7 +19,7 @@
 
 #include <string.h>
 
-#include <lib/mdns/minimal/records/ResourceRecord.h>
+#include <lib/dnssd/minimal_mdns/records/ResourceRecord.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/records/tests/BUILD.gn b/src/lib/dnssd/minimal_mdns/records/tests/BUILD.gn
similarity index 95%
rename from src/lib/mdns/minimal/records/tests/BUILD.gn
rename to src/lib/dnssd/minimal_mdns/records/tests/BUILD.gn
index f42a74c..e3a9ed8 100644
--- a/src/lib/mdns/minimal/records/tests/BUILD.gn
+++ b/src/lib/dnssd/minimal_mdns/records/tests/BUILD.gn
@@ -33,7 +33,7 @@
 
   public_deps = [
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns/minimal/records",
+    "${chip_root}/src/lib/dnssd/minimal_mdns/records",
     "${nlunit_test_root}:nlunit-test",
   ]
 }
diff --git a/src/lib/mdns/minimal/records/tests/TestResourceRecord.cpp b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecord.cpp
similarity index 99%
rename from src/lib/mdns/minimal/records/tests/TestResourceRecord.cpp
rename to src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecord.cpp
index 694b611..522c2ac 100644
--- a/src/lib/mdns/minimal/records/tests/TestResourceRecord.cpp
+++ b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecord.cpp
@@ -16,7 +16,7 @@
  *    limitations under the License.
  */
 
-#include <lib/mdns/minimal/records/ResourceRecord.h>
+#include <lib/dnssd/minimal_mdns/records/ResourceRecord.h>
 #include <lib/support/UnitTestRegistration.h>
 
 #include <nlunit-test.h>
diff --git a/src/lib/mdns/minimal/records/tests/TestResourceRecordIP.cpp b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordIP.cpp
similarity index 99%
rename from src/lib/mdns/minimal/records/tests/TestResourceRecordIP.cpp
rename to src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordIP.cpp
index b7d098b..c1262ad 100644
--- a/src/lib/mdns/minimal/records/tests/TestResourceRecordIP.cpp
+++ b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordIP.cpp
@@ -15,7 +15,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/records/IP.h>
+#include <lib/dnssd/minimal_mdns/records/IP.h>
 #include <lib/support/UnitTestRegistration.h>
 
 #include <nlunit-test.h>
diff --git a/src/lib/mdns/minimal/records/tests/TestResourceRecordPtr.cpp b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordPtr.cpp
similarity index 97%
rename from src/lib/mdns/minimal/records/tests/TestResourceRecordPtr.cpp
rename to src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordPtr.cpp
index 68a9436..aa388cd 100644
--- a/src/lib/mdns/minimal/records/tests/TestResourceRecordPtr.cpp
+++ b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordPtr.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/records/Ptr.h>
+#include <lib/dnssd/minimal_mdns/records/Ptr.h>
 
 #include <lib/support/UnitTestRegistration.h>
 
diff --git a/src/lib/mdns/minimal/records/tests/TestResourceRecordSrv.cpp b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordSrv.cpp
similarity index 98%
rename from src/lib/mdns/minimal/records/tests/TestResourceRecordSrv.cpp
rename to src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordSrv.cpp
index c96ff14..d294741 100644
--- a/src/lib/mdns/minimal/records/tests/TestResourceRecordSrv.cpp
+++ b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordSrv.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/records/Srv.h>
+#include <lib/dnssd/minimal_mdns/records/Srv.h>
 
 #include <lib/support/UnitTestRegistration.h>
 
diff --git a/src/lib/mdns/minimal/records/tests/TestResourceRecordTxt.cpp b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordTxt.cpp
similarity index 97%
rename from src/lib/mdns/minimal/records/tests/TestResourceRecordTxt.cpp
rename to src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordTxt.cpp
index 7f55629..c7537a8 100644
--- a/src/lib/mdns/minimal/records/tests/TestResourceRecordTxt.cpp
+++ b/src/lib/dnssd/minimal_mdns/records/tests/TestResourceRecordTxt.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/records/Txt.h>
+#include <lib/dnssd/minimal_mdns/records/Txt.h>
 
 #include <lib/support/UnitTestRegistration.h>
 
diff --git a/src/lib/mdns/minimal/responders/BUILD.gn b/src/lib/dnssd/minimal_mdns/responders/BUILD.gn
similarity index 89%
rename from src/lib/mdns/minimal/responders/BUILD.gn
rename to src/lib/dnssd/minimal_mdns/responders/BUILD.gn
index 10bff82..efabe48 100644
--- a/src/lib/mdns/minimal/responders/BUILD.gn
+++ b/src/lib/dnssd/minimal_mdns/responders/BUILD.gn
@@ -31,8 +31,8 @@
   public_deps = [
     "${chip_root}/src/inet",
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns/minimal/core",
-    "${chip_root}/src/lib/mdns/minimal/records",
+    "${chip_root}/src/lib/dnssd/minimal_mdns/core",
+    "${chip_root}/src/lib/dnssd/minimal_mdns/records",
     "${chip_root}/src/platform",
   ]
 }
diff --git a/src/lib/mdns/minimal/responders/IP.cpp b/src/lib/dnssd/minimal_mdns/responders/IP.cpp
similarity index 96%
rename from src/lib/mdns/minimal/responders/IP.cpp
rename to src/lib/dnssd/minimal_mdns/responders/IP.cpp
index b0d1f8a..8d354b2 100644
--- a/src/lib/mdns/minimal/responders/IP.cpp
+++ b/src/lib/dnssd/minimal_mdns/responders/IP.cpp
@@ -16,7 +16,7 @@
  */
 #include "IP.h"
 
-#include <lib/mdns/minimal/records/IP.h>
+#include <lib/dnssd/minimal_mdns/records/IP.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/responders/IP.h b/src/lib/dnssd/minimal_mdns/responders/IP.h
similarity index 94%
rename from src/lib/mdns/minimal/responders/IP.h
rename to src/lib/dnssd/minimal_mdns/responders/IP.h
index 948bf75..71a0957 100644
--- a/src/lib/mdns/minimal/responders/IP.h
+++ b/src/lib/dnssd/minimal_mdns/responders/IP.h
@@ -17,7 +17,7 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/responders/RecordResponder.h>
+#include <lib/dnssd/minimal_mdns/responders/RecordResponder.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/responders/Ptr.h b/src/lib/dnssd/minimal_mdns/responders/Ptr.h
similarity index 90%
rename from src/lib/mdns/minimal/responders/Ptr.h
rename to src/lib/dnssd/minimal_mdns/responders/Ptr.h
index cc980e9..d2b72f4 100644
--- a/src/lib/mdns/minimal/responders/Ptr.h
+++ b/src/lib/dnssd/minimal_mdns/responders/Ptr.h
@@ -17,8 +17,8 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/records/Ptr.h>
-#include <lib/mdns/minimal/responders/RecordResponder.h>
+#include <lib/dnssd/minimal_mdns/records/Ptr.h>
+#include <lib/dnssd/minimal_mdns/responders/RecordResponder.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/responders/QueryResponder.cpp b/src/lib/dnssd/minimal_mdns/responders/QueryResponder.cpp
similarity index 98%
rename from src/lib/mdns/minimal/responders/QueryResponder.cpp
rename to src/lib/dnssd/minimal_mdns/responders/QueryResponder.cpp
index 0b94abe..1db519e 100644
--- a/src/lib/mdns/minimal/responders/QueryResponder.cpp
+++ b/src/lib/dnssd/minimal_mdns/responders/QueryResponder.cpp
@@ -17,7 +17,7 @@
 
 #include "QueryResponder.h"
 
-#include <lib/mdns/minimal/records/Ptr.h>
+#include <lib/dnssd/minimal_mdns/records/Ptr.h>
 
 #include <lib/support/logging/CHIPLogging.h>
 
diff --git a/src/lib/mdns/minimal/responders/QueryResponder.h b/src/lib/dnssd/minimal_mdns/responders/QueryResponder.h
similarity index 100%
rename from src/lib/mdns/minimal/responders/QueryResponder.h
rename to src/lib/dnssd/minimal_mdns/responders/QueryResponder.h
diff --git a/src/lib/mdns/minimal/responders/RecordResponder.h b/src/lib/dnssd/minimal_mdns/responders/RecordResponder.h
similarity index 94%
rename from src/lib/mdns/minimal/responders/RecordResponder.h
rename to src/lib/dnssd/minimal_mdns/responders/RecordResponder.h
index f0e2191..5f8607c 100644
--- a/src/lib/mdns/minimal/responders/RecordResponder.h
+++ b/src/lib/dnssd/minimal_mdns/responders/RecordResponder.h
@@ -17,7 +17,7 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/responders/Responder.h>
+#include <lib/dnssd/minimal_mdns/responders/Responder.h>
 namespace mdns {
 namespace Minimal {
 
diff --git a/src/lib/mdns/minimal/responders/ReplyFilter.h b/src/lib/dnssd/minimal_mdns/responders/ReplyFilter.h
similarity index 90%
rename from src/lib/mdns/minimal/responders/ReplyFilter.h
rename to src/lib/dnssd/minimal_mdns/responders/ReplyFilter.h
index f259141..a00af39 100644
--- a/src/lib/mdns/minimal/responders/ReplyFilter.h
+++ b/src/lib/dnssd/minimal_mdns/responders/ReplyFilter.h
@@ -16,8 +16,8 @@
  */
 #pragma once
 
-#include <lib/mdns/minimal/core/Constants.h>
-#include <lib/mdns/minimal/core/QName.h>
+#include <lib/dnssd/minimal_mdns/core/Constants.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/responders/Responder.h b/src/lib/dnssd/minimal_mdns/responders/Responder.h
similarity index 93%
rename from src/lib/mdns/minimal/responders/Responder.h
rename to src/lib/dnssd/minimal_mdns/responders/Responder.h
index 95a8715..d62c53e 100644
--- a/src/lib/mdns/minimal/responders/Responder.h
+++ b/src/lib/dnssd/minimal_mdns/responders/Responder.h
@@ -17,8 +17,8 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/core/QName.h>
-#include <lib/mdns/minimal/records/ResourceRecord.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
+#include <lib/dnssd/minimal_mdns/records/ResourceRecord.h>
 
 #include <inet/InetLayer.h>
 
diff --git a/src/lib/mdns/minimal/responders/Srv.h b/src/lib/dnssd/minimal_mdns/responders/Srv.h
similarity index 90%
rename from src/lib/mdns/minimal/responders/Srv.h
rename to src/lib/dnssd/minimal_mdns/responders/Srv.h
index cb8912f..c8cb724 100644
--- a/src/lib/mdns/minimal/responders/Srv.h
+++ b/src/lib/dnssd/minimal_mdns/responders/Srv.h
@@ -17,8 +17,8 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/records/Srv.h>
-#include <lib/mdns/minimal/responders/RecordResponder.h>
+#include <lib/dnssd/minimal_mdns/records/Srv.h>
+#include <lib/dnssd/minimal_mdns/responders/RecordResponder.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/responders/Txt.h b/src/lib/dnssd/minimal_mdns/responders/Txt.h
similarity index 90%
rename from src/lib/mdns/minimal/responders/Txt.h
rename to src/lib/dnssd/minimal_mdns/responders/Txt.h
index adf7f37..92302bd 100644
--- a/src/lib/mdns/minimal/responders/Txt.h
+++ b/src/lib/dnssd/minimal_mdns/responders/Txt.h
@@ -17,8 +17,8 @@
 
 #pragma once
 
-#include <lib/mdns/minimal/records/Txt.h>
-#include <lib/mdns/minimal/responders/RecordResponder.h>
+#include <lib/dnssd/minimal_mdns/records/Txt.h>
+#include <lib/dnssd/minimal_mdns/responders/RecordResponder.h>
 
 namespace mdns {
 namespace Minimal {
diff --git a/src/lib/mdns/minimal/responders/tests/BUILD.gn b/src/lib/dnssd/minimal_mdns/responders/tests/BUILD.gn
similarity index 90%
rename from src/lib/mdns/minimal/responders/tests/BUILD.gn
rename to src/lib/dnssd/minimal_mdns/responders/tests/BUILD.gn
index 2df78a2..ab88956 100644
--- a/src/lib/mdns/minimal/responders/tests/BUILD.gn
+++ b/src/lib/dnssd/minimal_mdns/responders/tests/BUILD.gn
@@ -31,8 +31,8 @@
 
   public_deps = [
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns/minimal",
-    "${chip_root}/src/lib/mdns/minimal/responders",
+    "${chip_root}/src/lib/dnssd/minimal_mdns",
+    "${chip_root}/src/lib/dnssd/minimal_mdns/responders",
     "${nlunit_test_root}:nlunit-test",
   ]
 }
diff --git a/src/lib/mdns/minimal/responders/tests/TestIPResponder.cpp b/src/lib/dnssd/minimal_mdns/responders/tests/TestIPResponder.cpp
similarity index 98%
rename from src/lib/mdns/minimal/responders/tests/TestIPResponder.cpp
rename to src/lib/dnssd/minimal_mdns/responders/tests/TestIPResponder.cpp
index 43ed87f..4ed00d6 100644
--- a/src/lib/mdns/minimal/responders/tests/TestIPResponder.cpp
+++ b/src/lib/dnssd/minimal_mdns/responders/tests/TestIPResponder.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/responders/IP.h>
+#include <lib/dnssd/minimal_mdns/responders/IP.h>
 
 #include <vector>
 
diff --git a/src/lib/mdns/minimal/responders/tests/TestPtrResponder.cpp b/src/lib/dnssd/minimal_mdns/responders/tests/TestPtrResponder.cpp
similarity index 95%
rename from src/lib/mdns/minimal/responders/tests/TestPtrResponder.cpp
rename to src/lib/dnssd/minimal_mdns/responders/tests/TestPtrResponder.cpp
index 0a16625..be2135c 100644
--- a/src/lib/mdns/minimal/responders/tests/TestPtrResponder.cpp
+++ b/src/lib/dnssd/minimal_mdns/responders/tests/TestPtrResponder.cpp
@@ -14,12 +14,12 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/responders/Ptr.h>
+#include <lib/dnssd/minimal_mdns/responders/Ptr.h>
 
 #include <vector>
 
-#include <lib/mdns/minimal/Parser.h>
-#include <lib/mdns/minimal/RecordData.h>
+#include <lib/dnssd/minimal_mdns/Parser.h>
+#include <lib/dnssd/minimal_mdns/RecordData.h>
 #include <lib/support/UnitTestRegistration.h>
 
 #include <nlunit-test.h>
diff --git a/src/lib/mdns/minimal/responders/tests/TestQueryResponder.cpp b/src/lib/dnssd/minimal_mdns/responders/tests/TestQueryResponder.cpp
similarity index 98%
rename from src/lib/mdns/minimal/responders/tests/TestQueryResponder.cpp
rename to src/lib/dnssd/minimal_mdns/responders/tests/TestQueryResponder.cpp
index 9663525..c2db28a 100644
--- a/src/lib/mdns/minimal/responders/tests/TestQueryResponder.cpp
+++ b/src/lib/dnssd/minimal_mdns/responders/tests/TestQueryResponder.cpp
@@ -14,11 +14,11 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/responders/QueryResponder.h>
+#include <lib/dnssd/minimal_mdns/responders/QueryResponder.h>
 
 #include <vector>
 
-#include <lib/mdns/minimal/records/Ptr.h>
+#include <lib/dnssd/minimal_mdns/records/Ptr.h>
 
 #include <lib/support/UnitTestRegistration.h>
 
diff --git a/src/lib/mdns/minimal/tests/BUILD.gn b/src/lib/dnssd/minimal_mdns/tests/BUILD.gn
similarity index 93%
rename from src/lib/mdns/minimal/tests/BUILD.gn
rename to src/lib/dnssd/minimal_mdns/tests/BUILD.gn
index 2d037e9..dd73b0f 100644
--- a/src/lib/mdns/minimal/tests/BUILD.gn
+++ b/src/lib/dnssd/minimal_mdns/tests/BUILD.gn
@@ -36,8 +36,8 @@
 
   public_deps = [
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns",
-    "${chip_root}/src/lib/mdns/minimal",
+    "${chip_root}/src/lib/dnssd",
+    "${chip_root}/src/lib/dnssd/minimal_mdns",
     "${nlunit_test_root}:nlunit-test",
   ]
 }
diff --git a/src/lib/mdns/minimal/tests/CheckOnlyServer.h b/src/lib/dnssd/minimal_mdns/tests/CheckOnlyServer.h
similarity index 95%
rename from src/lib/mdns/minimal/tests/CheckOnlyServer.h
rename to src/lib/dnssd/minimal_mdns/tests/CheckOnlyServer.h
index e5d836e..697475f 100644
--- a/src/lib/mdns/minimal/tests/CheckOnlyServer.h
+++ b/src/lib/dnssd/minimal_mdns/tests/CheckOnlyServer.h
@@ -15,19 +15,19 @@
  *    limitations under the License.
  */
 #pragma once
-#include <lib/mdns/minimal/ResponseSender.h>
+#include <lib/dnssd/minimal_mdns/ResponseSender.h>
 
 #include <chrono>
 #include <condition_variable>
 #include <string>
 #include <vector>
 
-#include <lib/mdns/MinimalMdnsServer.h>
-#include <lib/mdns/minimal/RecordData.h>
-#include <lib/mdns/minimal/Server.h>
-#include <lib/mdns/minimal/records/Ptr.h>
-#include <lib/mdns/minimal/records/Srv.h>
-#include <lib/mdns/minimal/records/Txt.h>
+#include <lib/dnssd/MinimalMdnsServer.h>
+#include <lib/dnssd/minimal_mdns/RecordData.h>
+#include <lib/dnssd/minimal_mdns/Server.h>
+#include <lib/dnssd/minimal_mdns/records/Ptr.h>
+#include <lib/dnssd/minimal_mdns/records/Srv.h>
+#include <lib/dnssd/minimal_mdns/records/Txt.h>
 #include <lib/support/CHIPMemString.h>
 #include <lib/support/UnitTestRegistration.h>
 #include <system/SystemMutex.h>
@@ -393,8 +393,8 @@
 
 struct ServerSwapper
 {
-    ServerSwapper(CheckOnlyServer * server) { chip::Mdns::GlobalMinimalMdnsServer::Instance().SetReplacementServer(server); }
-    ~ServerSwapper() { chip::Mdns::GlobalMinimalMdnsServer::Instance().SetReplacementServer(nullptr); }
+    ServerSwapper(CheckOnlyServer * server) { chip::Dnssd::GlobalMinimalMdnsServer::Instance().SetReplacementServer(server); }
+    ~ServerSwapper() { chip::Dnssd::GlobalMinimalMdnsServer::Instance().SetReplacementServer(nullptr); }
 };
 
 } // namespace test
diff --git a/src/lib/mdns/minimal/tests/TestActiveResolveAttempts.cpp b/src/lib/dnssd/minimal_mdns/tests/TestActiveResolveAttempts.cpp
similarity index 99%
rename from src/lib/mdns/minimal/tests/TestActiveResolveAttempts.cpp
rename to src/lib/dnssd/minimal_mdns/tests/TestActiveResolveAttempts.cpp
index 65f04e0..92da4d1 100644
--- a/src/lib/mdns/minimal/tests/TestActiveResolveAttempts.cpp
+++ b/src/lib/dnssd/minimal_mdns/tests/TestActiveResolveAttempts.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/ActiveResolveAttempts.h>
+#include <lib/dnssd/minimal_mdns/ActiveResolveAttempts.h>
 
 #include <lib/support/UnitTestRegistration.h>
 
diff --git a/src/lib/mdns/minimal/tests/TestAdvertiser.cpp b/src/lib/dnssd/minimal_mdns/tests/TestAdvertiser.cpp
similarity index 97%
rename from src/lib/mdns/minimal/tests/TestAdvertiser.cpp
rename to src/lib/dnssd/minimal_mdns/tests/TestAdvertiser.cpp
index a6fcdbd..9565c09 100644
--- a/src/lib/mdns/minimal/tests/TestAdvertiser.cpp
+++ b/src/lib/dnssd/minimal_mdns/tests/TestAdvertiser.cpp
@@ -14,20 +14,20 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/Advertiser.h>
+#include <lib/dnssd/Advertiser.h>
 
 #include <string>
 #include <utility>
 
-#include <lib/mdns/Advertiser.h>
-#include <lib/mdns/MinimalMdnsServer.h>
-#include <lib/mdns/minimal/Query.h>
-#include <lib/mdns/minimal/QueryBuilder.h>
-#include <lib/mdns/minimal/core/QName.h>
-#include <lib/mdns/minimal/records/Ptr.h>
-#include <lib/mdns/minimal/records/Srv.h>
-#include <lib/mdns/minimal/records/Txt.h>
-#include <lib/mdns/minimal/tests/CheckOnlyServer.h>
+#include <lib/dnssd/Advertiser.h>
+#include <lib/dnssd/MinimalMdnsServer.h>
+#include <lib/dnssd/minimal_mdns/Query.h>
+#include <lib/dnssd/minimal_mdns/QueryBuilder.h>
+#include <lib/dnssd/minimal_mdns/core/QName.h>
+#include <lib/dnssd/minimal_mdns/records/Ptr.h>
+#include <lib/dnssd/minimal_mdns/records/Srv.h>
+#include <lib/dnssd/minimal_mdns/records/Txt.h>
+#include <lib/dnssd/minimal_mdns/tests/CheckOnlyServer.h>
 #include <lib/support/UnitTestRegistration.h>
 #include <system/SystemPacketBuffer.h>
 
@@ -37,7 +37,7 @@
 
 using namespace std;
 using namespace chip;
-using namespace chip::Mdns;
+using namespace chip::Dnssd;
 using namespace mdns::Minimal;
 using namespace mdns::Minimal::test;
 
@@ -211,7 +211,7 @@
 
 void OperationalAdverts(nlTestSuite * inSuite, void * inContext)
 {
-    auto & mdnsAdvertiser = chip::Mdns::ServiceAdvertiser::Instance();
+    auto & mdnsAdvertiser = chip::Dnssd::ServiceAdvertiser::Instance();
     NL_TEST_ASSERT(inSuite, mdnsAdvertiser.RemoveServices() == CHIP_NO_ERROR);
 
     auto & server = reinterpret_cast<CheckOnlyServer &>(GlobalMinimalMdnsServer::Server());
@@ -339,7 +339,7 @@
 
 void CommissionableAdverts(nlTestSuite * inSuite, void * inContext)
 {
-    auto & mdnsAdvertiser = chip::Mdns::ServiceAdvertiser::Instance();
+    auto & mdnsAdvertiser = chip::Dnssd::ServiceAdvertiser::Instance();
     NL_TEST_ASSERT(inSuite, mdnsAdvertiser.RemoveServices() == CHIP_NO_ERROR);
 
     auto & server = reinterpret_cast<CheckOnlyServer &>(GlobalMinimalMdnsServer::Server());
@@ -455,7 +455,7 @@
 
 void CommissionableAndOperationalAdverts(nlTestSuite * inSuite, void * inContext)
 {
-    auto & mdnsAdvertiser = chip::Mdns::ServiceAdvertiser::Instance();
+    auto & mdnsAdvertiser = chip::Dnssd::ServiceAdvertiser::Instance();
     NL_TEST_ASSERT(inSuite, mdnsAdvertiser.RemoveServices() == CHIP_NO_ERROR);
 
     auto & server = reinterpret_cast<CheckOnlyServer &>(GlobalMinimalMdnsServer::Server());
@@ -552,7 +552,7 @@
     nlTestSuite theSuite = { "AdvertiserImplMinimal", sTests, nullptr, nullptr };
     CheckOnlyServer server(&theSuite);
     test::ServerSwapper swapper(&server);
-    auto & mdnsAdvertiser = chip::Mdns::ServiceAdvertiser::Instance();
+    auto & mdnsAdvertiser = chip::Dnssd::ServiceAdvertiser::Instance();
     mdnsAdvertiser.Init(nullptr);
     nlTestRunner(&theSuite, &server);
     return nlTestRunnerStats(&theSuite);
diff --git a/src/lib/mdns/minimal/tests/TestMinimalMdnsAllocator.cpp b/src/lib/dnssd/minimal_mdns/tests/TestMinimalMdnsAllocator.cpp
similarity index 98%
rename from src/lib/mdns/minimal/tests/TestMinimalMdnsAllocator.cpp
rename to src/lib/dnssd/minimal_mdns/tests/TestMinimalMdnsAllocator.cpp
index 1b415f5..259ae14 100644
--- a/src/lib/mdns/minimal/tests/TestMinimalMdnsAllocator.cpp
+++ b/src/lib/dnssd/minimal_mdns/tests/TestMinimalMdnsAllocator.cpp
@@ -16,14 +16,14 @@
  *    limitations under the License.
  */
 
-#include <lib/mdns/Advertiser_ImplMinimalMdnsAllocator.h>
+#include <lib/dnssd/Advertiser_ImplMinimalMdnsAllocator.h>
 
 #include <lib/support/UnitTestRegistration.h>
 
 #include <nlunit-test.h>
 
 using namespace chip;
-using namespace chip::Mdns;
+using namespace chip::Dnssd;
 using namespace mdns::Minimal;
 
 #if CHIP_CONFIG_MEMORY_DEBUG_DMALLOC
diff --git a/src/lib/mdns/minimal/tests/TestQueryReplyFilter.cpp b/src/lib/dnssd/minimal_mdns/tests/TestQueryReplyFilter.cpp
similarity index 98%
rename from src/lib/mdns/minimal/tests/TestQueryReplyFilter.cpp
rename to src/lib/dnssd/minimal_mdns/tests/TestQueryReplyFilter.cpp
index fdc2ab7..6620606 100644
--- a/src/lib/mdns/minimal/tests/TestQueryReplyFilter.cpp
+++ b/src/lib/dnssd/minimal_mdns/tests/TestQueryReplyFilter.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/QueryReplyFilter.h>
+#include <lib/dnssd/minimal_mdns/QueryReplyFilter.h>
 #include <lib/support/UnitTestRegistration.h>
 
 #include <nlunit-test.h>
diff --git a/src/lib/mdns/minimal/tests/TestRecordData.cpp b/src/lib/dnssd/minimal_mdns/tests/TestRecordData.cpp
similarity index 99%
rename from src/lib/mdns/minimal/tests/TestRecordData.cpp
rename to src/lib/dnssd/minimal_mdns/tests/TestRecordData.cpp
index 9fbc842..436803f 100644
--- a/src/lib/mdns/minimal/tests/TestRecordData.cpp
+++ b/src/lib/dnssd/minimal_mdns/tests/TestRecordData.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/RecordData.h>
+#include <lib/dnssd/minimal_mdns/RecordData.h>
 
 #include <string>
 #include <vector>
diff --git a/src/lib/mdns/minimal/tests/TestResponseSender.cpp b/src/lib/dnssd/minimal_mdns/tests/TestResponseSender.cpp
similarity index 97%
rename from src/lib/mdns/minimal/tests/TestResponseSender.cpp
rename to src/lib/dnssd/minimal_mdns/tests/TestResponseSender.cpp
index 6552d50..9acfd49 100644
--- a/src/lib/mdns/minimal/tests/TestResponseSender.cpp
+++ b/src/lib/dnssd/minimal_mdns/tests/TestResponseSender.cpp
@@ -14,17 +14,17 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include <lib/mdns/minimal/ResponseSender.h>
+#include <lib/dnssd/minimal_mdns/ResponseSender.h>
 
 #include <string>
 #include <vector>
 
-#include <lib/mdns/minimal/RecordData.h>
-#include <lib/mdns/minimal/core/FlatAllocatedQName.h>
-#include <lib/mdns/minimal/responders/Ptr.h>
-#include <lib/mdns/minimal/responders/Srv.h>
-#include <lib/mdns/minimal/responders/Txt.h>
-#include <lib/mdns/minimal/tests/CheckOnlyServer.h>
+#include <lib/dnssd/minimal_mdns/RecordData.h>
+#include <lib/dnssd/minimal_mdns/core/FlatAllocatedQName.h>
+#include <lib/dnssd/minimal_mdns/responders/Ptr.h>
+#include <lib/dnssd/minimal_mdns/responders/Srv.h>
+#include <lib/dnssd/minimal_mdns/responders/Txt.h>
+#include <lib/dnssd/minimal_mdns/tests/CheckOnlyServer.h>
 
 #include <lib/support/CHIPMem.h>
 #include <lib/support/UnitTestRegistration.h>
diff --git a/src/lib/mdns/platform/Mdns.h b/src/lib/dnssd/platform/Dnssd.h
similarity index 68%
rename from src/lib/mdns/platform/Mdns.h
rename to src/lib/dnssd/platform/Dnssd.h
index 2b074df..c7f7b8e 100644
--- a/src/lib/mdns/platform/Mdns.h
+++ b/src/lib/dnssd/platform/Dnssd.h
@@ -20,7 +20,7 @@
  *      This file defines the platform API to publish and subscribe mDNS
  *      services.
  *
- *      You can find the implementation in src/platform/\<PLATFORM\>/MdnsImpl.cpp.
+ *      You can find the implementation in src/platform/\<PLATFORM\>/DnssdImpl.cpp.
  */
 
 #pragma once
@@ -32,26 +32,26 @@
 #include <inet/InetInterface.h>
 #include <lib/core/CHIPError.h>
 #include <lib/core/Optional.h>
-#include <lib/mdns/ServiceNaming.h>
+#include <lib/dnssd/ServiceNaming.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 // None of these sizes include an null character at the end.
-static constexpr uint8_t kMdnsInstanceNameMaxSize = 33; // [Node]-[Fabric] ID in hex - 16+1+16
-static constexpr uint8_t kMdnsHostNameMaxSize     = 16; // 64-bits in hex.
-static constexpr size_t kMdnsProtocolTextMaxSize  = std::max(sizeof(kOperationalProtocol), sizeof(kCommissionProtocol)) - 1;
-static constexpr size_t kMdnsTypeMaxSize =
+static constexpr uint8_t kDnssdInstanceNameMaxSize = 33; // [Node]-[Fabric] ID in hex - 16+1+16
+static constexpr uint8_t kDnssdHostNameMaxSize     = 16; // 64-bits in hex.
+static constexpr size_t kDnssdProtocolTextMaxSize  = std::max(sizeof(kOperationalProtocol), sizeof(kCommissionProtocol)) - 1;
+static constexpr size_t kDnssdTypeMaxSize =
     std::max({ sizeof(kCommissionableServiceName), sizeof(kOperationalServiceName), sizeof(kCommissionerServiceName) }) - 1;
-static constexpr uint8_t kMdnsTypeAndProtocolMaxSize     = kMdnsTypeMaxSize + kMdnsProtocolTextMaxSize + 1; // <type>.<protocol>
-static constexpr uint16_t kMdnsTextMaxSize               = 64;
-static constexpr uint8_t kMdnsFullTypeAndProtocolMaxSize = kMaxSubtypeDescSize + /* '.' */ 1 + kMdnsTypeAndProtocolMaxSize;
+static constexpr uint8_t kDnssdTypeAndProtocolMaxSize     = kDnssdTypeMaxSize + kDnssdProtocolTextMaxSize + 1; // <type>.<protocol>
+static constexpr uint16_t kDnssdTextMaxSize               = 64;
+static constexpr uint8_t kDnssdFullTypeAndProtocolMaxSize = kMaxSubtypeDescSize + /* '.' */ 1 + kDnssdTypeAndProtocolMaxSize;
 
-enum class MdnsServiceProtocol : uint8_t
+enum class DnssdServiceProtocol : uint8_t
 {
-    kMdnsProtocolUdp = 0,
-    kMdnsProtocolTcp,
-    kMdnsProtocolUnknown = 255,
+    kDnssdProtocolUdp = 0,
+    kDnssdProtocolTcp,
+    kDnssdProtocolUnknown = 255,
 };
 
 struct TextEntry
@@ -61,12 +61,12 @@
     size_t mDataSize;
 };
 
-struct MdnsService
+struct DnssdService
 {
-    char mName[kMdnsInstanceNameMaxSize + 1];
-    char mHostName[kMdnsHostNameMaxSize + 1] = "";
-    char mType[kMdnsTypeMaxSize + 1];
-    MdnsServiceProtocol mProtocol;
+    char mName[kDnssdInstanceNameMaxSize + 1];
+    char mHostName[kDnssdHostNameMaxSize + 1] = "";
+    char mType[kDnssdTypeMaxSize + 1];
+    DnssdServiceProtocol mProtocol;
     Inet::IPAddressType mAddressType;
     uint16_t mPort;
     chip::Inet::InterfaceId mInterface;
@@ -83,12 +83,12 @@
  * The callback function SHALL NOT take the ownership of the service pointer or
  * any pointer inside this structure.
  *
- * @param[in] context     The context passed to ChipMdnsBrowse or ChipMdnsResolve.
+ * @param[in] context     The context passed to ChipDnssdBrowse or ChipDnssdResolve.
  * @param[in] result      The mdns resolve result, can be nullptr if error happens.
  * @param[in] error       The error code.
  *
  */
-using MdnsResolveCallback = void (*)(void * context, MdnsService * result, CHIP_ERROR error);
+using DnssdResolveCallback = void (*)(void * context, DnssdService * result, CHIP_ERROR error);
 
 /**
  * The callback function for mDNS browse.
@@ -96,15 +96,15 @@
  * The callback function SHALL NOT take the ownership of the service pointer or
  * any pointer inside this structure.
  *
- * @param[in] context       The context passed to ChipMdnsBrowse or ChipMdnsResolve.
+ * @param[in] context       The context passed to ChipDnssdBrowse or ChipDnssdResolve.
  * @param[in] services      The service list, can be nullptr.
  * @param[in] servicesSize  The size of the service list.
  * @param[in] error         The error code.
  *
  */
-using MdnsBrowseCallback = void (*)(void * context, MdnsService * services, size_t servicesSize, CHIP_ERROR error);
+using DnssdBrowseCallback = void (*)(void * context, DnssdService * services, size_t servicesSize, CHIP_ERROR error);
 
-using MdnsAsyncReturnCallback = void (*)(void * context, CHIP_ERROR error);
+using DnssdAsyncReturnCallback = void (*)(void * context, CHIP_ERROR error);
 
 /**
  * This function initializes the mdns module
@@ -117,7 +117,7 @@
  * @retval Error code     The initialization fails
  *
  */
-CHIP_ERROR ChipMdnsInit(MdnsAsyncReturnCallback initCallback, MdnsAsyncReturnCallback errorCallback, void * context);
+CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context);
 
 /**
  * This function shuts down the mdns module
@@ -126,18 +126,18 @@
  * @retval Error code     The shutdown fails
  *
  */
-CHIP_ERROR ChipMdnsShutdown();
+CHIP_ERROR ChipDnssdShutdown();
 
 /**
  * Removes or marks all services being advertised for removal.
  *
  * Depending on the implementation, the function may either stop advertising existing services
- * immediately, or mark them for removal upon the subsequent `ChipMdnsFinalizeServiceUpdate` call.
+ * immediately, or mark them for removal upon the subsequent `ChipDnssdFinalizeServiceUpdate` call.
  *
  * @retval CHIP_NO_ERROR  The removal succeeds.
  * @retval Error code     The removal fails.
  */
-CHIP_ERROR ChipMdnsRemoveServices();
+CHIP_ERROR ChipDnssdRemoveServices();
 
 /**
  * This function publishes a service via DNS-SD.
@@ -153,20 +153,20 @@
  * @retval Error code                   The publish fails.
  *
  */
-CHIP_ERROR ChipMdnsPublishService(const MdnsService * service);
+CHIP_ERROR ChipDnssdPublishService(const DnssdService * service);
 
 /**
  * Finalizes updating advertised services.
  *
  * This function can be used by some implementations to apply changes made with the
- * `ChipMdnsRemoveServices` and `ChipMdnsPublishService` functions in case they could
+ * `ChipDnssdRemoveServices` and `ChipDnssdPublishService` functions in case they could
  * not be applied immediately (like in case of, but not limited to, implementations
  * using SRP or requiring asynchronous interactions with a DNS-SD implementation).
  *
  * @retval CHIP_NO_ERROR  The service update finalization succeeds.
  * @retval Error code     The service update finalization fails.
  */
-CHIP_ERROR ChipMdnsFinalizeServiceUpdate();
+CHIP_ERROR ChipDnssdFinalizeServiceUpdate();
 
 /**
  * This function browses the services published by mdns
@@ -183,13 +183,13 @@
  * @retval Error code                   The browse fails.
  *
  */
-CHIP_ERROR ChipMdnsBrowse(const char * type, MdnsServiceProtocol protocol, chip::Inet::IPAddressType addressType,
-                          chip::Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context);
+CHIP_ERROR ChipDnssdBrowse(const char * type, DnssdServiceProtocol protocol, chip::Inet::IPAddressType addressType,
+                           chip::Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context);
 
 /**
  * This function resolves the services published by mdns
  *
- * @param[in] browseResult  The service entry returned by @ref ChipMdnsBrowse
+ * @param[in] browseResult  The service entry returned by @ref ChipDnssdBrowse
  * @param[in] interface     The interface to send queries.
  * @param[in] callback      The callback for found services.
  * @param[in] context       The user context.
@@ -199,8 +199,8 @@
  * @retval Error code                   The resolve fails.
  *
  */
-CHIP_ERROR ChipMdnsResolve(MdnsService * browseResult, chip::Inet::InterfaceId interface, MdnsResolveCallback callback,
-                           void * context);
+CHIP_ERROR ChipDnssdResolve(DnssdService * browseResult, chip::Inet::InterfaceId interface, DnssdResolveCallback callback,
+                            void * context);
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/lib/mdns/platform/tests/BUILD.gn b/src/lib/dnssd/platform/tests/BUILD.gn
similarity index 96%
rename from src/lib/mdns/platform/tests/BUILD.gn
rename to src/lib/dnssd/platform/tests/BUILD.gn
index 7135ac2..668378f 100644
--- a/src/lib/mdns/platform/tests/BUILD.gn
+++ b/src/lib/dnssd/platform/tests/BUILD.gn
@@ -23,7 +23,7 @@
   if (chip_device_platform == "fake") {
     test_sources = [ "TestPlatform.cpp" ]
     public_deps = [
-      "${chip_root}/src/lib/mdns",
+      "${chip_root}/src/lib/dnssd",
       "${nlunit_test_root}:nlunit-test",
     ]
   }
diff --git a/src/lib/mdns/platform/tests/TestPlatform.cpp b/src/lib/dnssd/platform/tests/TestPlatform.cpp
similarity index 94%
rename from src/lib/mdns/platform/tests/TestPlatform.cpp
rename to src/lib/dnssd/platform/tests/TestPlatform.cpp
index 6f95be2..325c470 100644
--- a/src/lib/mdns/platform/tests/TestPlatform.cpp
+++ b/src/lib/dnssd/platform/tests/TestPlatform.cpp
@@ -17,11 +17,11 @@
  */
 
 #include <lib/core/PeerId.h>
-#include <lib/mdns/Discovery_ImplPlatform.h>
+#include <lib/dnssd/Discovery_ImplPlatform.h>
 #include <lib/support/UnitTestRegistration.h>
 #include <lib/support/logging/CHIPLogging.h>
 #include <platform/CHIPDeviceLayer.h>
-#include <platform/fake/MdnsImpl.h>
+#include <platform/fake/DnssdImpl.h>
 
 #include <nlunit-test.h>
 
@@ -31,7 +31,7 @@
 
 namespace {
 using namespace chip;
-using namespace chip::Mdns;
+using namespace chip::Dnssd;
 
 const uint8_t kMac[kMaxMacSize] = { 1, 2, 3, 4, 5, 6, 7, 8 };
 const char host[]               = "0102030405060708";
@@ -41,7 +41,7 @@
 OperationalAdvertisingParameters operationalParams1 =
     OperationalAdvertisingParameters().SetPeerId(kPeerId1).SetMac(ByteSpan(kMac)).SetPort(CHIP_PORT).EnableIpV4(true);
 test::ExpectedCall operationalCall1 = test::ExpectedCall()
-                                          .SetProtocol(MdnsServiceProtocol::kMdnsProtocolTcp)
+                                          .SetProtocol(DnssdServiceProtocol::kDnssdProtocolTcp)
                                           .SetServiceName("_matter")
                                           .SetInstanceName("BEEFBEEFF00DF00D-1111222233334444")
                                           .SetHostName(host)
@@ -54,7 +54,7 @@
                                                           .SetMRPRetryIntervals(Optional<uint32_t>(32), Optional<uint32_t>(33))
                                                           .SetTcpSupported(Optional<bool>(true));
 test::ExpectedCall operationalCall2 = test::ExpectedCall()
-                                          .SetProtocol(MdnsServiceProtocol::kMdnsProtocolTcp)
+                                          .SetProtocol(DnssdServiceProtocol::kDnssdProtocolTcp)
                                           .SetServiceName("_matter")
                                           .SetInstanceName("5555666677778888-1212343456567878")
                                           .SetHostName(host)
@@ -72,7 +72,7 @@
         .SetCommissioningMode(CommissioningMode::kDisabled);
 // Instance names need to be obtained from the advertiser, so they are not set here.
 test::ExpectedCall commissionableSmall = test::ExpectedCall()
-                                             .SetProtocol(MdnsServiceProtocol::kMdnsProtocolUdp)
+                                             .SetProtocol(DnssdServiceProtocol::kDnssdProtocolUdp)
                                              .SetServiceName("_matterc")
                                              .SetHostName(host)
                                              .AddTxt("CM", "0")
@@ -99,7 +99,7 @@
             chip::Optional<uint32_t>(3600005)); // 3600005 is over the max, so this should be adjusted by the platform
 
 test::ExpectedCall commissionableLargeBasic = test::ExpectedCall()
-                                                  .SetProtocol(MdnsServiceProtocol::kMdnsProtocolUdp)
+                                                  .SetProtocol(DnssdServiceProtocol::kDnssdProtocolUdp)
                                                   .SetServiceName("_matterc")
                                                   .SetHostName(host)
                                                   .AddTxt("D", "22")
@@ -134,7 +134,7 @@
         .SetRotatingId(chip::Optional<const char *>("id_that_spins"));
 
 test::ExpectedCall commissionableLargeEnhanced = test::ExpectedCall()
-                                                     .SetProtocol(MdnsServiceProtocol::kMdnsProtocolUdp)
+                                                     .SetProtocol(DnssdServiceProtocol::kDnssdProtocolUdp)
                                                      .SetServiceName("_matterc")
                                                      .SetHostName(host)
                                                      .AddTxt("D", "22")
@@ -229,11 +229,11 @@
 
 } // namespace
 
-int TestMdnsPlatform(void)
+int TestDnssdPlatform(void)
 {
-    nlTestSuite theSuite = { "MdnsPlatform", &sTests[0], nullptr, nullptr };
+    nlTestSuite theSuite = { "DnssdPlatform", &sTests[0], nullptr, nullptr };
     nlTestRunner(&theSuite, nullptr);
     return nlTestRunnerStats(&theSuite);
 }
 
-CHIP_REGISTER_TEST_SUITE(TestMdnsPlatform)
+CHIP_REGISTER_TEST_SUITE(TestDnssdPlatform)
diff --git a/src/lib/mdns/tests/BUILD.gn b/src/lib/dnssd/tests/BUILD.gn
similarity index 92%
rename from src/lib/mdns/tests/BUILD.gn
rename to src/lib/dnssd/tests/BUILD.gn
index d12636b..355bea3 100644
--- a/src/lib/mdns/tests/BUILD.gn
+++ b/src/lib/dnssd/tests/BUILD.gn
@@ -27,13 +27,13 @@
   ]
 
   if (chip_device_platform != "efr32") {
-    test_sources += [ "TestMdnsCache.cpp" ]
+    test_sources += [ "TestDnssdCache.cpp" ]
   }
 
   cflags = [ "-Wconversion" ]
 
   public_deps = [
-    "${chip_root}/src/lib/mdns",
+    "${chip_root}/src/lib/dnssd",
     "${nlunit_test_root}:nlunit-test",
   ]
 }
diff --git a/src/lib/mdns/tests/TestMdnsCache.cpp b/src/lib/dnssd/tests/TestDnssdCache.cpp
similarity index 78%
rename from src/lib/mdns/tests/TestMdnsCache.cpp
rename to src/lib/dnssd/tests/TestDnssdCache.cpp
index 4c83aac..d24a1e9 100644
--- a/src/lib/mdns/tests/TestMdnsCache.cpp
+++ b/src/lib/dnssd/tests/TestDnssdCache.cpp
@@ -27,7 +27,7 @@
 #include <inet/InetLayer.h>
 #include <lib/core/CHIPError.h>
 #include <lib/core/PeerId.h>
-#include <lib/mdns/MdnsCache.h>
+#include <lib/dnssd/DnssdCache.h>
 #include <lib/support/UnitTestRegistration.h>
 #include <lib/support/logging/CHIPLogging.h>
 #include <system/SystemTimer.h>
@@ -36,18 +36,18 @@
 #define NL_TEST_DEF_FN(fn) NL_TEST_DEF("Test " #fn, fn)
 
 using namespace chip;
-using namespace chip::Mdns;
+using namespace chip::Dnssd;
 
 void TestCreate(nlTestSuite * inSuite, void * inContext)
 {
-    MdnsCache<10> tMdnsCache;
-    tMdnsCache.DumpCache();
+    DnssdCache<10> tDnssdCache;
+    tDnssdCache.DumpCache();
 }
 
 void TestInsert(nlTestSuite * inSuite, void * inContext)
 {
     const int sizeOfCache = 5;
-    MdnsCache<sizeOfCache> tMdnsCache;
+    DnssdCache<sizeOfCache> tDnssdCache;
     PeerId peerId;
     int64_t id                        = 0x100;
     uint16_t port                     = 2000;
@@ -71,7 +71,7 @@
 
         // ml -- why doesn't adding 2 uint16_t give a uint16_t?
         peerId.SetNodeId((NodeId) id + i);
-        result = tMdnsCache.Insert(peerId, addr, (uint16_t)(port + i), iface, 1000 * ttl);
+        result = tDnssdCache.Insert(peerId, addr, (uint16_t)(port + i), iface, 1000 * ttl);
         if (i < sizeOfCache)
         {
             NL_TEST_ASSERT(inSuite, result == CHIP_NO_ERROR);
@@ -82,7 +82,7 @@
         }
     }
 
-    tMdnsCache.DumpCache();
+    tDnssdCache.DumpCache();
     usleep(static_cast<useconds_t>((ttl + 1) * 1000 * 1000));
     id   = 0x200;
     port = 3000;
@@ -91,21 +91,21 @@
         CHIP_ERROR result;
 
         peerId.SetNodeId((NodeId) id + i);
-        result = tMdnsCache.Insert(peerId, addr, (uint16_t)(port + i), iface, 1000 * ttl);
+        result = tDnssdCache.Insert(peerId, addr, (uint16_t)(port + i), iface, 1000 * ttl);
         NL_TEST_ASSERT(inSuite, result == CHIP_NO_ERROR);
     }
-    tMdnsCache.DumpCache();
+    tDnssdCache.DumpCache();
 
     for (uint16_t i = 0; i < sizeOfCache; i++)
     {
         CHIP_ERROR result;
 
         peerId.SetNodeId((NodeId) id + i);
-        result = tMdnsCache.Delete(peerId);
+        result = tDnssdCache.Delete(peerId);
         NL_TEST_ASSERT(inSuite, result == CHIP_NO_ERROR);
     }
 
-    tMdnsCache.DumpCache();
+    tDnssdCache.DumpCache();
 
     // ipv6 inserts
     Inet::IPAddress::FromString("::1", addrV6);
@@ -115,20 +115,20 @@
         CHIP_ERROR result;
 
         peerId.SetNodeId((NodeId) id + i);
-        result = tMdnsCache.Insert(peerId, addrV6, (uint16_t)(port + i), iface, 1000 * ttl);
+        result = tDnssdCache.Insert(peerId, addrV6, (uint16_t)(port + i), iface, 1000 * ttl);
         NL_TEST_ASSERT(inSuite, result == CHIP_NO_ERROR);
     }
 
-    tMdnsCache.DumpCache();
+    tDnssdCache.DumpCache();
 
-    NL_TEST_ASSERT(inSuite, tMdnsCache.Lookup(peerId, addr_out, port_out, iface_out) == CHIP_NO_ERROR);
+    NL_TEST_ASSERT(inSuite, tDnssdCache.Lookup(peerId, addr_out, port_out, iface_out) == CHIP_NO_ERROR);
     peerId.SetCompressedFabricId(KNOWN_FABRIC + 1);
-    NL_TEST_ASSERT(inSuite, tMdnsCache.Lookup(peerId, addr_out, port_out, iface_out) != CHIP_NO_ERROR);
+    NL_TEST_ASSERT(inSuite, tDnssdCache.Lookup(peerId, addr_out, port_out, iface_out) != CHIP_NO_ERROR);
 }
 
 static const nlTest sTests[] = { NL_TEST_DEF_FN(TestCreate), NL_TEST_DEF_FN(TestInsert), NL_TEST_SENTINEL() };
 
-int TestMdnsCache(void)
+int TestDnssdCache(void)
 {
     nlTestSuite theSuite = { "MDNS Cache Creation", &sTests[0], nullptr, nullptr };
 
@@ -136,4 +136,4 @@
     return nlTestRunnerStats(&theSuite);
 }
 
-CHIP_REGISTER_TEST_SUITE(TestMdnsCache)
+CHIP_REGISTER_TEST_SUITE(TestDnssdCache)
diff --git a/src/lib/mdns/tests/TestServiceNaming.cpp b/src/lib/dnssd/tests/TestServiceNaming.cpp
similarity index 99%
rename from src/lib/mdns/tests/TestServiceNaming.cpp
rename to src/lib/dnssd/tests/TestServiceNaming.cpp
index c8fb4af..c65b758 100644
--- a/src/lib/mdns/tests/TestServiceNaming.cpp
+++ b/src/lib/dnssd/tests/TestServiceNaming.cpp
@@ -16,7 +16,7 @@
  *    limitations under the License.
  */
 
-#include <lib/mdns/ServiceNaming.h>
+#include <lib/dnssd/ServiceNaming.h>
 
 #include <string.h>
 
@@ -25,7 +25,7 @@
 #include <nlunit-test.h>
 
 using namespace chip;
-using namespace chip::Mdns;
+using namespace chip::Dnssd;
 
 namespace {
 
diff --git a/src/lib/mdns/tests/TestTxtFields.cpp b/src/lib/dnssd/tests/TestTxtFields.cpp
similarity index 99%
rename from src/lib/mdns/tests/TestTxtFields.cpp
rename to src/lib/dnssd/tests/TestTxtFields.cpp
index ee12d39..55f0ac3 100644
--- a/src/lib/mdns/tests/TestTxtFields.cpp
+++ b/src/lib/dnssd/tests/TestTxtFields.cpp
@@ -16,19 +16,19 @@
  *    limitations under the License.
  */
 
-#include <lib/mdns/TxtFields.h>
+#include <lib/dnssd/TxtFields.h>
 
 #include <limits>
 #include <string.h>
 
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/UnitTestRegistration.h>
 
 #include <nlunit-test.h>
 
 using namespace chip;
-using namespace chip::Mdns;
-using namespace chip::Mdns::Internal;
+using namespace chip::Dnssd;
+using namespace chip::Dnssd::Internal;
 
 namespace {
 
diff --git a/src/lib/shell/Engine.cpp b/src/lib/shell/Engine.cpp
index d43a64d..4ed7bd5 100644
--- a/src/lib/shell/Engine.cpp
+++ b/src/lib/shell/Engine.cpp
@@ -111,7 +111,7 @@
 #if CHIP_DEVICE_CONFIG_ENABLE_NFC
     RegisterNFCCommands();
 #endif
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
     RegisterDnsCommands();
 #endif
 }
diff --git a/src/lib/shell/commands/Dns.cpp b/src/lib/shell/commands/Dns.cpp
index 601b6d2..ccad6eb 100644
--- a/src/lib/shell/commands/Dns.cpp
+++ b/src/lib/shell/commands/Dns.cpp
@@ -18,9 +18,9 @@
 #include <inet/IPAddress.h>
 #include <lib/core/CHIPCore.h>
 #include <lib/core/PeerId.h>
-#include <lib/mdns/Advertiser.h>
-#include <lib/mdns/Resolver.h>
-#include <lib/mdns/platform/Mdns.h>
+#include <lib/dnssd/Advertiser.h>
+#include <lib/dnssd/Resolver.h>
+#include <lib/dnssd/platform/Dnssd.h>
 #include <lib/shell/Commands.h>
 #include <lib/shell/Engine.h>
 #include <lib/shell/commands/Help.h>
@@ -37,10 +37,10 @@
 Shell::Engine sShellDnsBrowseSubcommands;
 Shell::Engine sShellDnsSubcommands;
 
-class DnsShellResolverDelegate : public Mdns::ResolverDelegate
+class DnsShellResolverDelegate : public Dnssd::ResolverDelegate
 {
 public:
-    void OnNodeIdResolved(const Mdns::ResolvedNodeData & nodeData) override
+    void OnNodeIdResolved(const Dnssd::ResolvedNodeData & nodeData) override
     {
         streamer_printf(streamer_get(), "DNS resolve for " ChipLogFormatX64 "-" ChipLogFormatX64 " succeeded:\n",
                         ChipLogValueX64(nodeData.mPeerId.GetCompressedFabricId()), ChipLogValueX64(nodeData.mPeerId.GetNodeId()));
@@ -63,7 +63,7 @@
 
     void OnNodeIdResolutionFailed(const PeerId & peerId, CHIP_ERROR error) override {}
 
-    void OnNodeDiscoveryComplete(const Mdns::DiscoveredNodeData & nodeData) override
+    void OnNodeDiscoveryComplete(const Dnssd::DiscoveredNodeData & nodeData) override
     {
         if (!nodeData.IsValid())
         {
@@ -71,7 +71,7 @@
             return;
         }
 
-        char rotatingId[Mdns::kMaxRotatingIdLen * 2 + 1];
+        char rotatingId[Dnssd::kMaxRotatingIdLen * 2 + 1];
         Encoding::BytesToUppercaseHexString(nodeData.rotatingId, nodeData.rotatingIdLen, rotatingId, sizeof(rotatingId));
 
         streamer_printf(streamer_get(), "DNS browse succeeded: \n");
@@ -121,10 +121,10 @@
     peerId.SetCompressedFabricId(strtoull(argv[0], NULL, 10));
     peerId.SetNodeId(strtoull(argv[1], NULL, 10));
 
-    return Mdns::Resolver::Instance().ResolveNodeId(peerId, Inet::kIPAddressType_Any);
+    return Dnssd::Resolver::Instance().ResolveNodeId(peerId, Inet::kIPAddressType_Any);
 }
 
-bool ParseSubType(int argc, char ** argv, Mdns::DiscoveryFilter & filter)
+bool ParseSubType(int argc, char ** argv, Dnssd::DiscoveryFilter & filter)
 {
     if (argc == 0)
     {
@@ -139,24 +139,24 @@
     VerifyOrReturnError(strlen(subtype) >= 3, false);
     VerifyOrReturnError(subtype[0] == '_', false);
 
-    auto filterType = Mdns::DiscoveryFilterType::kNone;
+    auto filterType = Dnssd::DiscoveryFilterType::kNone;
 
     switch (subtype[1])
     {
     case 'S':
-        filterType = Mdns::DiscoveryFilterType::kShort;
+        filterType = Dnssd::DiscoveryFilterType::kShort;
         break;
     case 'L':
-        filterType = Mdns::DiscoveryFilterType::kLong;
+        filterType = Dnssd::DiscoveryFilterType::kLong;
         break;
     case 'V':
-        filterType = Mdns::DiscoveryFilterType::kVendor;
+        filterType = Dnssd::DiscoveryFilterType::kVendor;
         break;
     case 'T':
-        filterType = Mdns::DiscoveryFilterType::kDeviceType;
+        filterType = Dnssd::DiscoveryFilterType::kDeviceType;
         break;
     case 'C':
-        filterType = Mdns::DiscoveryFilterType::kCommissioningMode;
+        filterType = Dnssd::DiscoveryFilterType::kCommissioningMode;
         break;
     default:
         return false;
@@ -165,13 +165,13 @@
     uint16_t code;
     VerifyOrReturnError(ArgParser::ParseInt(subtype + 2, code), false);
 
-    filter = Mdns::DiscoveryFilter(filterType, code);
+    filter = Dnssd::DiscoveryFilter(filterType, code);
     return true;
 }
 
 CHIP_ERROR BrowseCommissionableHandler(int argc, char ** argv)
 {
-    Mdns::DiscoveryFilter filter;
+    Dnssd::DiscoveryFilter filter;
 
     if (!ParseSubType(argc, argv, filter))
     {
@@ -181,12 +181,12 @@
 
     streamer_printf(streamer_get(), "Browsing commissionable nodes...\n");
 
-    return Mdns::Resolver::Instance().FindCommissionableNodes(filter);
+    return Dnssd::Resolver::Instance().FindCommissionableNodes(filter);
 }
 
 CHIP_ERROR BrowseCommissionerHandler(int argc, char ** argv)
 {
-    Mdns::DiscoveryFilter filter;
+    Dnssd::DiscoveryFilter filter;
 
     if (!ParseSubType(argc, argv, filter))
     {
@@ -196,7 +196,7 @@
 
     streamer_printf(streamer_get(), "Browsing commissioners...\n");
 
-    return Mdns::Resolver::Instance().FindCommissioners(filter);
+    return Dnssd::Resolver::Instance().FindCommissioners(filter);
 }
 
 CHIP_ERROR BrowseHandler(int argc, char ** argv)
@@ -218,8 +218,8 @@
         return CHIP_NO_ERROR;
     }
 
-    Mdns::Resolver::Instance().Init(&DeviceLayer::InetLayer);
-    Mdns::Resolver::Instance().SetResolverDelegate(&sDnsShellResolverDelegate);
+    Dnssd::Resolver::Instance().Init(&DeviceLayer::InetLayer);
+    Dnssd::Resolver::Instance().SetResolverDelegate(&sDnsShellResolverDelegate);
 
     return sShellDnsSubcommands.ExecCommand(argc, argv);
 }
diff --git a/src/platform/BUILD.gn b/src/platform/BUILD.gn
index 0becf71..c95ecac 100644
--- a/src/platform/BUILD.gn
+++ b/src/platform/BUILD.gn
@@ -89,7 +89,7 @@
 
     chip_with_gio = chip_enable_wifi
     chip_device_config_enable_wpa = chip_enable_wifi
-    chip_device_config_enable_mdns = chip_mdns != "none"
+    chip_device_config_enable_dnssd = chip_mdns != "none"
     chip_stack_lock_tracking_log = chip_stack_lock_tracking != "none"
     chip_stack_lock_tracking_fatal = chip_stack_lock_tracking == "fatal"
 
@@ -99,7 +99,7 @@
       "CHIP_WITH_GIO=${chip_with_gio}",
       "OPENTHREAD_CONFIG_ENABLE_TOBLE=false",
       "CONFIG_USE_CLUSTERS_FOR_IP_COMMISSIONING=${chip_use_clusters_for_ip_commissioning}",
-      "CHIP_DEVICE_CONFIG_ENABLE_MDNS=${chip_device_config_enable_mdns}",
+      "CHIP_DEVICE_CONFIG_ENABLE_DNSSD=${chip_device_config_enable_dnssd}",
       "CHIP_BYPASS_RENDEZVOUS=${chip_bypass_rendezvous}",
       "CHIP_STACK_LOCK_TRACKING_ENABLED=${chip_stack_lock_tracking_log}",
       "CHIP_STACK_LOCK_TRACKING_ERROR_FATAL=${chip_stack_lock_tracking_fatal}",
@@ -218,9 +218,9 @@
     ]
 
     if (current_os == "android") {
-      chip_device_config_enable_mdns = chip_mdns != "none"
+      chip_device_config_enable_dnssd = chip_mdns != "none"
       defines += [
-        "CHIP_DEVICE_CONFIG_ENABLE_MDNS=${chip_device_config_enable_mdns}",
+        "CHIP_DEVICE_CONFIG_ENABLE_DNSSD=${chip_device_config_enable_dnssd}",
         "CONFIG_USE_CLUSTERS_FOR_IP_COMMISSIONING=${chip_use_clusters_for_ip_commissioning}",
         "EXTERNAL_KEYVALUESTOREMANAGERIMPL_HEADER=\"controller/java/AndroidKeyValueStoreManagerImpl.h\"",
       ]
diff --git a/src/platform/Darwin/BUILD.gn b/src/platform/Darwin/BUILD.gn
index 8b0bc4d..b5cd1b1 100644
--- a/src/platform/Darwin/BUILD.gn
+++ b/src/platform/Darwin/BUILD.gn
@@ -46,14 +46,14 @@
     "ConfigurationManagerImpl.h",
     "ConnectivityManagerImpl.cpp",
     "ConnectivityManagerImpl.h",
+    "DnssdImpl.cpp",
+    "DnssdImpl.h",
     "InetPlatformConfig.h",
     "KeyValueStoreManagerImpl.h",
     "KeyValueStoreManagerImpl.mm",
     "Logging.cpp",
     "MdnsError.cpp",
     "MdnsError.h",
-    "MdnsImpl.cpp",
-    "MdnsImpl.h",
     "PlatformManagerImpl.cpp",
     "PlatformManagerImpl.h",
     "PosixConfig.cpp",
@@ -62,7 +62,7 @@
   ]
 
   deps = [
-    "${chip_root}/src/lib/mdns:platform_header",
+    "${chip_root}/src/lib/dnssd:platform_header",
     "${chip_root}/src/setup_payload",
   ]
 
diff --git a/src/platform/Darwin/MdnsImpl.cpp b/src/platform/Darwin/DnssdImpl.cpp
similarity index 87%
rename from src/platform/Darwin/MdnsImpl.cpp
rename to src/platform/Darwin/DnssdImpl.cpp
index 9e413b5..ce4458d 100644
--- a/src/platform/Darwin/MdnsImpl.cpp
+++ b/src/platform/Darwin/DnssdImpl.cpp
@@ -14,7 +14,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include "MdnsImpl.h"
+#include "DnssdImpl.h"
 
 #include "MdnsError.h"
 
@@ -29,18 +29,18 @@
 #include <lib/support/logging/CHIPLogging.h>
 #include <platform/CHIPDeviceLayer.h>
 
-using namespace chip::Mdns;
+using namespace chip::Dnssd;
 
 namespace {
 
 constexpr const char * kLocalDot    = "local.";
 constexpr const char * kProtocolTcp = "._tcp";
 constexpr const char * kProtocolUdp = "._udp";
-constexpr uint8_t kMdnsKeyMaxSize   = 32;
+constexpr uint8_t kDnssdKeyMaxSize  = 32;
 
-bool IsSupportedProtocol(MdnsServiceProtocol protocol)
+bool IsSupportedProtocol(DnssdServiceProtocol protocol)
 {
-    return (protocol == MdnsServiceProtocol::kMdnsProtocolUdp) || (protocol == MdnsServiceProtocol::kMdnsProtocolTcp);
+    return (protocol == DnssdServiceProtocol::kDnssdProtocolUdp) || (protocol == DnssdServiceProtocol::kDnssdProtocolTcp);
 }
 
 uint32_t GetInterfaceId(chip::Inet::InterfaceId interfaceId)
@@ -48,19 +48,19 @@
     return (interfaceId == INET_NULL_INTERFACEID) ? kDNSServiceInterfaceIndexAny : interfaceId;
 }
 
-std::string GetFullType(const char * type, MdnsServiceProtocol protocol)
+std::string GetFullType(const char * type, DnssdServiceProtocol protocol)
 {
     std::ostringstream typeBuilder;
     typeBuilder << type;
-    typeBuilder << (protocol == MdnsServiceProtocol::kMdnsProtocolUdp ? kProtocolUdp : kProtocolTcp);
+    typeBuilder << (protocol == DnssdServiceProtocol::kDnssdProtocolUdp ? kProtocolUdp : kProtocolTcp);
     return typeBuilder.str();
 }
 
-std::string GetFullTypeWithSubTypes(const char * type, MdnsServiceProtocol protocol, const char * subTypes[], size_t subTypeSize)
+std::string GetFullTypeWithSubTypes(const char * type, DnssdServiceProtocol protocol, const char * subTypes[], size_t subTypeSize)
 {
     std::ostringstream typeBuilder;
     typeBuilder << type;
-    typeBuilder << (protocol == MdnsServiceProtocol::kMdnsProtocolUdp ? kProtocolUdp : kProtocolTcp);
+    typeBuilder << (protocol == DnssdServiceProtocol::kDnssdProtocolUdp ? kProtocolUdp : kProtocolTcp);
     for (int i = 0; i < (int) subTypeSize; i++)
     {
         typeBuilder << ",";
@@ -72,7 +72,7 @@
 } // namespace
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 MdnsContexts MdnsContexts::sInstance;
 
@@ -200,7 +200,7 @@
 CHIP_ERROR PopulateTextRecord(TXTRecordRef * record, char * buffer, uint16_t bufferLen, TextEntry * textEntries,
                               size_t textEntrySize)
 {
-    VerifyOrReturnError(textEntrySize <= kMdnsTextMaxSize, CHIP_ERROR_INVALID_ARGUMENT);
+    VerifyOrReturnError(textEntrySize <= kDnssdTextMaxSize, CHIP_ERROR_INVALID_ARGUMENT);
 
     DNSServiceErrorType err;
     TXTRecordCreate(record, bufferLen, buffer);
@@ -234,7 +234,7 @@
             switch (context->type)
             {
             case ContextType::Register:
-                // Nothing special to do. Maybe ChipMdnsPublishService should take a callback ?
+                // Nothing special to do. Maybe ChipDnssdPublishService should take a callback ?
                 break;
             case ContextType::Browse: {
                 BrowseContext * browseContext = reinterpret_cast<BrowseContext *>(context);
@@ -315,15 +315,15 @@
     char * regtype = strtok(tokens, ".");
     free(tokens);
 
-    MdnsService service = {};
-    service.mInterface  = interfaceId;
-    service.mProtocol   = context->protocol;
+    DnssdService service = {};
+    service.mInterface   = interfaceId;
+    service.mProtocol    = context->protocol;
 
     strncpy(service.mName, name, sizeof(service.mName));
-    service.mName[kMdnsInstanceNameMaxSize] = 0;
+    service.mName[kDnssdInstanceNameMaxSize] = 0;
 
     strncpy(service.mType, regtype, sizeof(service.mType));
-    service.mType[kMdnsTypeMaxSize] = 0;
+    service.mType[kDnssdTypeMaxSize] = 0;
 
     context->services.push_back(service);
 }
@@ -335,7 +335,7 @@
 
     VerifyOrReturn(strcmp(kLocalDot, domain) == 0);
 
-    std::remove_if(context->services.begin(), context->services.end(), [name, type, interfaceId](const MdnsService & service) {
+    std::remove_if(context->services.begin(), context->services.end(), [name, type, interfaceId](const DnssdService & service) {
         return strcmp(name, service.mName) == 0 && type == GetFullType(service.mType, service.mProtocol) &&
             service.mInterface == interfaceId;
     });
@@ -357,8 +357,8 @@
     }
 }
 
-CHIP_ERROR Browse(void * context, MdnsBrowseCallback callback, uint32_t interfaceId, const char * type,
-                  MdnsServiceProtocol protocol)
+CHIP_ERROR Browse(void * context, DnssdBrowseCallback callback, uint32_t interfaceId, const char * type,
+                  DnssdServiceProtocol protocol)
 {
     DNSServiceErrorType err;
     DNSServiceRef sdRef;
@@ -390,7 +390,7 @@
 
     ChipLogDetail(DeviceLayer, "Mdns: %s hostname:%s", __func__, hostname);
 
-    MdnsService service    = {};
+    DnssdService service   = {};
     service.mPort          = sdCtx->port;
     service.mTextEntries   = sdCtx->textEntries.empty() ? nullptr : sdCtx->textEntries.data();
     service.mTextEntrySize = sdCtx->textEntries.empty() ? 0 : sdCtx->textEntries.size();
@@ -403,7 +403,7 @@
     MdnsContexts::GetInstance().Remove(sdCtx);
 }
 
-static CHIP_ERROR GetAddrInfo(void * context, MdnsResolveCallback callback, uint32_t interfaceId,
+static CHIP_ERROR GetAddrInfo(void * context, DnssdResolveCallback callback, uint32_t interfaceId,
                               chip::Inet::IPAddressType addressType, const char * name, const char * hostname, uint16_t port,
                               uint16_t txtLen, const unsigned char * txtRecord)
 {
@@ -413,15 +413,15 @@
 
     sdCtx = chip::Platform::New<GetAddrInfoContext>(context, callback, name, interfaceId, port);
 
-    char key[kMdnsKeyMaxSize];
-    char value[kMdnsTextMaxSize];
+    char key[kDnssdKeyMaxSize];
+    char value[kDnssdTextMaxSize];
     uint8_t valueLen;
     const void * valuePtr;
 
     uint16_t recordCount = TXTRecordGetCount(txtLen, txtRecord);
     for (uint16_t i = 0; i < recordCount; i++)
     {
-        err = TXTRecordGetItemAtIndex(txtLen, txtRecord, i, kMdnsKeyMaxSize, key, &valueLen, &valuePtr);
+        err = TXTRecordGetItemAtIndex(txtLen, txtRecord, i, kDnssdKeyMaxSize, key, &valueLen, &valuePtr);
         VerifyOrReturnError(CheckForSuccess(sdCtx, __func__, err, true), CHIP_ERROR_INTERNAL);
 
         strncpy(value, reinterpret_cast<const char *>(valuePtr), valueLen);
@@ -473,8 +473,8 @@
     MdnsContexts::GetInstance().Remove(sdCtx);
 }
 
-static CHIP_ERROR Resolve(void * context, MdnsResolveCallback callback, uint32_t interfaceId, chip::Inet::IPAddressType addressType,
-                          const char * type, const char * name)
+static CHIP_ERROR Resolve(void * context, DnssdResolveCallback callback, uint32_t interfaceId,
+                          chip::Inet::IPAddressType addressType, const char * type, const char * name)
 {
     DNSServiceErrorType err;
     DNSServiceRef sdRef;
@@ -490,7 +490,7 @@
     return MdnsContexts::GetInstance().Add(sdCtx, sdRef);
 }
 
-CHIP_ERROR ChipMdnsInit(MdnsAsyncReturnCallback successCallback, MdnsAsyncReturnCallback errorCallback, void * context)
+CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback successCallback, DnssdAsyncReturnCallback errorCallback, void * context)
 {
     VerifyOrReturnError(successCallback != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
     VerifyOrReturnError(errorCallback != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
@@ -499,12 +499,12 @@
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsShutdown()
+CHIP_ERROR ChipDnssdShutdown()
 {
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsPublishService(const MdnsService * service)
+CHIP_ERROR ChipDnssdPublishService(const DnssdService * service)
 {
     VerifyOrReturnError(service != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
     VerifyOrReturnError(IsSupportedProtocol(service->mProtocol), CHIP_ERROR_INVALID_ARGUMENT);
@@ -517,7 +517,7 @@
     uint32_t interfaceId = GetInterfaceId(service->mInterface);
 
     TXTRecordRef record;
-    char buffer[kMdnsTextMaxSize];
+    char buffer[kDnssdTextMaxSize];
     ReturnErrorOnFailure(PopulateTextRecord(&record, buffer, sizeof(buffer), service->mTextEntries, service->mTextEntrySize));
 
     ChipLogProgress(chipTool, "Publising service %s on port %u with type: %s on interface id: %" PRIu32, service->mName,
@@ -525,7 +525,7 @@
     return Register(interfaceId, regtype.c_str(), service->mName, service->mPort, &record);
 }
 
-CHIP_ERROR ChipMdnsRemoveServices()
+CHIP_ERROR ChipDnssdRemoveServices()
 {
     GenericContext * sdCtx = nullptr;
     if (CHIP_ERROR_KEY_NOT_FOUND == MdnsContexts::GetInstance().Get(ContextType::Register, &sdCtx))
@@ -536,13 +536,13 @@
     return MdnsContexts::GetInstance().Removes(ContextType::Register);
 }
 
-CHIP_ERROR ChipMdnsFinalizeServiceUpdate()
+CHIP_ERROR ChipDnssdFinalizeServiceUpdate()
 {
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsBrowse(const char * type, MdnsServiceProtocol protocol, chip::Inet::IPAddressType addressType,
-                          chip::Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context)
+CHIP_ERROR ChipDnssdBrowse(const char * type, DnssdServiceProtocol protocol, chip::Inet::IPAddressType addressType,
+                           chip::Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context)
 {
     VerifyOrReturnError(type != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
     VerifyOrReturnError(callback != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
@@ -554,7 +554,8 @@
     return Browse(context, callback, interfaceId, regtype.c_str(), protocol);
 }
 
-CHIP_ERROR ChipMdnsResolve(MdnsService * service, chip::Inet::InterfaceId interface, MdnsResolveCallback callback, void * context)
+CHIP_ERROR ChipDnssdResolve(DnssdService * service, chip::Inet::InterfaceId interface, DnssdResolveCallback callback,
+                            void * context)
 {
     VerifyOrReturnError(service != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
     VerifyOrReturnError(IsSupportedProtocol(service->mProtocol), CHIP_ERROR_INVALID_ARGUMENT);
@@ -565,5 +566,5 @@
     return Resolve(context, callback, interfaceId, service->mAddressType, regtype.c_str(), service->mName);
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/Darwin/MdnsImpl.h b/src/platform/Darwin/DnssdImpl.h
similarity index 81%
rename from src/platform/Darwin/MdnsImpl.h
rename to src/platform/Darwin/DnssdImpl.h
index ac00b8d..fc6b6e0 100644
--- a/src/platform/Darwin/MdnsImpl.h
+++ b/src/platform/Darwin/DnssdImpl.h
@@ -18,12 +18,12 @@
 #pragma once
 
 #include <dns_sd.h>
-#include <lib/mdns/platform/Mdns.h>
+#include <lib/dnssd/platform/Dnssd.h>
 #include <string>
 #include <vector>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 enum class ContextType
 {
@@ -42,7 +42,7 @@
 
 struct RegisterContext : public GenericContext
 {
-    char mType[kMdnsTypeMaxSize + 1];
+    char mType[kDnssdTypeMaxSize + 1];
     RegisterContext(const char * sType, void * cbContext)
     {
         type = ContextType::Register;
@@ -55,11 +55,11 @@
 
 struct BrowseContext : public GenericContext
 {
-    MdnsBrowseCallback callback;
-    std::vector<MdnsService> services;
-    MdnsServiceProtocol protocol;
+    DnssdBrowseCallback callback;
+    std::vector<DnssdService> services;
+    DnssdServiceProtocol protocol;
 
-    BrowseContext(void * cbContext, MdnsBrowseCallback cb, MdnsServiceProtocol cbContextProtocol)
+    BrowseContext(void * cbContext, DnssdBrowseCallback cb, DnssdServiceProtocol cbContextProtocol)
     {
         type     = ContextType::Browse;
         context  = cbContext;
@@ -70,12 +70,12 @@
 
 struct ResolveContext : public GenericContext
 {
-    MdnsResolveCallback callback;
+    DnssdResolveCallback callback;
 
-    char name[kMdnsInstanceNameMaxSize + 1];
+    char name[kDnssdInstanceNameMaxSize + 1];
     chip::Inet::IPAddressType addressType;
 
-    ResolveContext(void * cbContext, MdnsResolveCallback cb, const char * cbContextName, chip::Inet::IPAddressType cbAddressType)
+    ResolveContext(void * cbContext, DnssdResolveCallback cb, const char * cbContextName, chip::Inet::IPAddressType cbAddressType)
     {
         type     = ContextType::Resolve;
         context  = cbContext;
@@ -87,13 +87,13 @@
 
 struct GetAddrInfoContext : public GenericContext
 {
-    MdnsResolveCallback callback;
+    DnssdResolveCallback callback;
     std::vector<TextEntry> textEntries;
-    char name[kMdnsInstanceNameMaxSize + 1];
+    char name[kDnssdInstanceNameMaxSize + 1];
     uint32_t interfaceId;
     uint16_t port;
 
-    GetAddrInfoContext(void * cbContext, MdnsResolveCallback cb, const char * cbContextName, uint32_t cbInterfaceId,
+    GetAddrInfoContext(void * cbContext, DnssdResolveCallback cb, const char * cbContextName, uint32_t cbInterfaceId,
                        uint16_t cbContextPort)
     {
         type        = ContextType::GetAddrInfo;
@@ -134,5 +134,5 @@
     std::vector<GenericContext *> mContexts;
 };
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/Darwin/MdnsError.cpp b/src/platform/Darwin/MdnsError.cpp
index b5939be..c4cc4f7 100644
--- a/src/platform/Darwin/MdnsError.cpp
+++ b/src/platform/Darwin/MdnsError.cpp
@@ -15,10 +15,10 @@
  *    limitations under the License.
  */
 
-#include "MdnsImpl.h"
+#include "DnssdImpl.h"
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 namespace Error {
 
 const char * ToString(DNSServiceErrorType errorCode)
@@ -95,5 +95,5 @@
 }
 
 } // namespace Error
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/Darwin/MdnsError.h b/src/platform/Darwin/MdnsError.h
index 8332998..7ae3e76 100644
--- a/src/platform/Darwin/MdnsError.h
+++ b/src/platform/Darwin/MdnsError.h
@@ -17,14 +17,14 @@
 
 #pragma once
 
-#include "MdnsImpl.h"
+#include "DnssdImpl.h"
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 namespace Error {
 
 const char * ToString(DNSServiceErrorType errorCode);
 
 } // namespace Error
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/EFR32/BUILD.gn b/src/platform/EFR32/BUILD.gn
index 23f8148..f18643f 100644
--- a/src/platform/EFR32/BUILD.gn
+++ b/src/platform/EFR32/BUILD.gn
@@ -76,8 +76,8 @@
     ]
 
     if (chip_mdns == "platform") {
-      sources += [ "../OpenThread/MdnsImpl.cpp" ]
-      deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+      sources += [ "../OpenThread/DnssdImpl.cpp" ]
+      deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
     }
   }
 }
diff --git a/src/platform/EFR32/CHIPDevicePlatformConfig.h b/src/platform/EFR32/CHIPDevicePlatformConfig.h
index fd2f591..1f33a29 100644
--- a/src/platform/EFR32/CHIPDevicePlatformConfig.h
+++ b/src/platform/EFR32/CHIPDevicePlatformConfig.h
@@ -34,7 +34,7 @@
 
 #if CHIP_ENABLE_OPENTHREAD
 #define CHIP_DEVICE_CONFIG_ENABLE_THREAD 1
-#define CHIP_DEVICE_CONFIG_ENABLE_MDNS 1
+#define CHIP_DEVICE_CONFIG_ENABLE_DNSSD 1
 #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT 1
 #define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1
 #define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DISCOVERY 1
diff --git a/src/platform/ESP32/BUILD.gn b/src/platform/ESP32/BUILD.gn
index dd2679f..d43cdb8 100644
--- a/src/platform/ESP32/BUILD.gn
+++ b/src/platform/ESP32/BUILD.gn
@@ -46,7 +46,7 @@
     "nimble/BLEManagerImpl.cpp",
   ]
 
-  deps = [ "${chip_root}/src/lib/mdns:platform_header" ]
+  deps = [ "${chip_root}/src/lib/dnssd:platform_header" ]
 
   public_deps = [
     "${chip_root}/src/crypto",
diff --git a/src/platform/ESP32/MdnsImpl.cpp b/src/platform/ESP32/DnssdImpl.cpp
similarity index 77%
rename from src/platform/ESP32/MdnsImpl.cpp
rename to src/platform/ESP32/DnssdImpl.cpp
index 4c512aa..2442c3c 100644
--- a/src/platform/ESP32/MdnsImpl.cpp
+++ b/src/platform/ESP32/DnssdImpl.cpp
@@ -15,7 +15,7 @@
  *    limitations under the License.
  */
 
-#include "lib/mdns/platform/Mdns.h"
+#include "lib/dnssd/platform/Dnssd.h"
 
 #include <esp_err.h>
 #include <lwip/ip4_addr.h>
@@ -35,9 +35,9 @@
 } // namespace
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
-CHIP_ERROR ChipMdnsInit(MdnsAsyncReturnCallback initCallback, MdnsAsyncReturnCallback errorCallback, void * context)
+CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context)
 {
     CHIP_ERROR error = CHIP_NO_ERROR;
     esp_err_t espError;
@@ -55,17 +55,17 @@
     return error;
 }
 
-CHIP_ERROR ChipMdnsShutdown()
+CHIP_ERROR ChipDnssdShutdown()
 {
     return CHIP_NO_ERROR;
 }
 
-static const char * GetProtocolString(MdnsServiceProtocol protocol)
+static const char * GetProtocolString(DnssdServiceProtocol protocol)
 {
-    return protocol == MdnsServiceProtocol::kMdnsProtocolTcp ? "_tcp" : "_udp";
+    return protocol == DnssdServiceProtocol::kDnssdProtocolTcp ? "_tcp" : "_udp";
 }
 
-CHIP_ERROR ChipMdnsPublishService(const MdnsService * service)
+CHIP_ERROR ChipDnssdPublishService(const DnssdService * service)
 {
     CHIP_ERROR error        = CHIP_NO_ERROR;
     mdns_txt_item_t * items = nullptr;
@@ -108,27 +108,27 @@
     return error;
 }
 
-CHIP_ERROR ChipMdnsRemoveServices()
+CHIP_ERROR ChipDnssdRemoveServices()
 {
     return mdns_service_remove_all() == ESP_OK ? CHIP_NO_ERROR : CHIP_ERROR_INTERNAL;
 }
 
-CHIP_ERROR ChipMdnsFinalizeServiceUpdate()
+CHIP_ERROR ChipDnssdFinalizeServiceUpdate()
 {
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsBrowse(const char * /*type*/, MdnsServiceProtocol /*protocol*/, chip::Inet::IPAddressType addressType,
-                          chip::Inet::InterfaceId /*interface*/, MdnsBrowseCallback /*callback*/, void * /*context*/)
+CHIP_ERROR ChipDnssdBrowse(const char * /*type*/, DnssdServiceProtocol /*protocol*/, chip::Inet::IPAddressType addressType,
+                           chip::Inet::InterfaceId /*interface*/, DnssdBrowseCallback /*callback*/, void * /*context*/)
 {
     return CHIP_ERROR_NOT_IMPLEMENTED;
 }
 
-CHIP_ERROR ChipMdnsResolve(MdnsService * /*service*/, chip::Inet::InterfaceId /*interface*/, MdnsResolveCallback /*callback*/,
-                           void * /*context*/)
+CHIP_ERROR ChipDnssdResolve(DnssdService * /*service*/, chip::Inet::InterfaceId /*interface*/, DnssdResolveCallback /*callback*/,
+                            void * /*context*/)
 {
     return CHIP_ERROR_NOT_IMPLEMENTED;
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/Linux/BUILD.gn b/src/platform/Linux/BUILD.gn
index f8aebdf..5c7516b 100644
--- a/src/platform/Linux/BUILD.gn
+++ b/src/platform/Linux/BUILD.gn
@@ -86,11 +86,11 @@
 
   if (chip_mdns != "none") {
     sources += [
-      "MdnsImpl.cpp",
-      "MdnsImpl.h",
+      "DnssdImpl.cpp",
+      "DnssdImpl.h",
     ]
 
-    deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+    deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
 
     public_configs += [ ":avahi_client_config" ]
   }
diff --git a/src/platform/Linux/MdnsImpl.cpp b/src/platform/Linux/DnssdImpl.cpp
similarity index 92%
rename from src/platform/Linux/MdnsImpl.cpp
rename to src/platform/Linux/DnssdImpl.cpp
index c05a2d2..9ef98c2 100644
--- a/src/platform/Linux/MdnsImpl.cpp
+++ b/src/platform/Linux/DnssdImpl.cpp
@@ -15,7 +15,7 @@
  *    limitations under the License.
  */
 
-#include "MdnsImpl.h"
+#include "DnssdImpl.h"
 
 #include <algorithm>
 #include <sstream>
@@ -31,9 +31,9 @@
 #include <platform/internal/CHIPDeviceLayerInternal.h>
 #include <system/SystemLayer.h>
 
-using chip::Mdns::kMdnsTypeMaxSize;
-using chip::Mdns::MdnsServiceProtocol;
-using chip::Mdns::TextEntry;
+using chip::Dnssd::DnssdServiceProtocol;
+using chip::Dnssd::kDnssdTypeMaxSize;
+using chip::Dnssd::TextEntry;
 using chip::System::SocketEvents;
 using std::chrono::duration_cast;
 using std::chrono::microseconds;
@@ -106,7 +106,7 @@
 
     for (size_t i = 0; i < size; i++)
     {
-        uint8_t buf[chip::Mdns::kMdnsTextMaxSize];
+        uint8_t buf[chip::Dnssd::kDnssdTextMaxSize];
         size_t offset = static_cast<size_t>(snprintf(reinterpret_cast<char *>(buf), sizeof(buf), "%s=", entries[i].mKey));
 
         if (offset + entries[i].mDataSize > sizeof(buf))
@@ -122,12 +122,12 @@
     return CHIP_NO_ERROR;
 }
 
-const char * GetProtocolString(MdnsServiceProtocol protocol)
+const char * GetProtocolString(DnssdServiceProtocol protocol)
 {
-    return protocol == MdnsServiceProtocol::kMdnsProtocolUdp ? "_udp" : "_tcp";
+    return protocol == DnssdServiceProtocol::kDnssdProtocolUdp ? "_udp" : "_tcp";
 }
 
-std::string GetFullType(const char * type, MdnsServiceProtocol protocol)
+std::string GetFullType(const char * type, DnssdServiceProtocol protocol)
 {
     std::ostringstream typeBuilder;
     typeBuilder << type << "." << GetProtocolString(protocol);
@@ -137,7 +137,7 @@
 } // namespace
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 MdnsAvahi MdnsAvahi::sInstance;
 
@@ -319,7 +319,7 @@
     }
 }
 
-CHIP_ERROR MdnsAvahi::Init(MdnsAsyncReturnCallback initCallback, MdnsAsyncReturnCallback errorCallback, void * context)
+CHIP_ERROR MdnsAvahi::Init(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context)
 {
     CHIP_ERROR error = CHIP_NO_ERROR;
     int avahiError   = 0;
@@ -453,7 +453,7 @@
     }
 }
 
-CHIP_ERROR MdnsAvahi::PublishService(const MdnsService & service)
+CHIP_ERROR MdnsAvahi::PublishService(const DnssdService & service)
 {
     std::ostringstream keyBuilder;
     std::string key;
@@ -525,8 +525,8 @@
     return error;
 }
 
-CHIP_ERROR MdnsAvahi::Browse(const char * type, MdnsServiceProtocol protocol, chip::Inet::IPAddressType addressType,
-                             chip::Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context)
+CHIP_ERROR MdnsAvahi::Browse(const char * type, DnssdServiceProtocol protocol, chip::Inet::IPAddressType addressType,
+                             chip::Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context)
 {
     AvahiServiceBrowser * browser;
     BrowseContext * browseContext = chip::Platform::New<BrowseContext>();
@@ -551,27 +551,27 @@
     return browser == nullptr ? CHIP_ERROR_INTERNAL : CHIP_NO_ERROR;
 }
 
-MdnsServiceProtocol GetProtocolInType(const char * type)
+DnssdServiceProtocol GetProtocolInType(const char * type)
 {
     const char * deliminator = strrchr(type, '.');
 
     if (deliminator == NULL)
     {
         ChipLogError(Discovery, "Failed to find protocol in type: %s", type);
-        return MdnsServiceProtocol::kMdnsProtocolUnknown;
+        return DnssdServiceProtocol::kDnssdProtocolUnknown;
     }
 
     if (strcmp("._tcp", deliminator) == 0)
     {
-        return MdnsServiceProtocol::kMdnsProtocolTcp;
+        return DnssdServiceProtocol::kDnssdProtocolTcp;
     }
     if (strcmp("._udp", deliminator) == 0)
     {
-        return MdnsServiceProtocol::kMdnsProtocolUdp;
+        return DnssdServiceProtocol::kDnssdProtocolUdp;
     }
 
     ChipLogError(Discovery, "Unknown protocol in type: %s", type);
-    return MdnsServiceProtocol::kMdnsProtocolUnknown;
+    return DnssdServiceProtocol::kDnssdProtocolUnknown;
 }
 
 /// Copies the type from a string containing both type and protocol
@@ -609,7 +609,7 @@
         ChipLogProgress(DeviceLayer, "Avahi browse: cache new");
         if (strcmp("local", domain) == 0)
         {
-            MdnsService service = {};
+            DnssdService service = {};
 
             Platform::CopyString(service.mName, name);
             CopyTypeWithoutProtocol(service.mType, type);
@@ -620,7 +620,7 @@
             {
                 service.mInterface = static_cast<chip::Inet::InterfaceId>(interface);
             }
-            service.mType[kMdnsTypeMaxSize] = 0;
+            service.mType[kDnssdTypeMaxSize] = 0;
             context->mServices.push_back(service);
         }
         break;
@@ -634,7 +634,7 @@
         ChipLogProgress(DeviceLayer, "Avahi browse: remove");
         if (strcmp("local", domain) == 0)
         {
-            std::remove_if(context->mServices.begin(), context->mServices.end(), [name, type](const MdnsService & service) {
+            std::remove_if(context->mServices.begin(), context->mServices.end(), [name, type](const DnssdService & service) {
                 return strcmp(name, service.mName) == 0 && type == GetFullType(service.mType, service.mProtocol);
             });
         }
@@ -645,9 +645,9 @@
     }
 }
 
-CHIP_ERROR MdnsAvahi::Resolve(const char * name, const char * type, MdnsServiceProtocol protocol,
+CHIP_ERROR MdnsAvahi::Resolve(const char * name, const char * type, DnssdServiceProtocol protocol,
                               chip::Inet::IPAddressType addressType, chip::Inet::InterfaceId interface,
-                              MdnsResolveCallback callback, void * context)
+                              DnssdResolveCallback callback, void * context)
 {
     AvahiServiceResolver * resolver;
     AvahiIfIndex avahiInterface     = static_cast<AvahiIfIndex>(interface);
@@ -689,7 +689,7 @@
         context->mCallback(context->mContext, nullptr, CHIP_ERROR_INTERNAL);
         break;
     case AVAHI_RESOLVER_FOUND:
-        MdnsService result    = {};
+        DnssdService result   = {};
         CHIP_ERROR result_err = CHIP_NO_ERROR;
 
         result.mAddress.SetValue(chip::Inet::IPAddress());
@@ -774,17 +774,17 @@
     chip::Platform::Delete(context);
 }
 
-CHIP_ERROR ChipMdnsInit(MdnsAsyncReturnCallback initCallback, MdnsAsyncReturnCallback errorCallback, void * context)
+CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context)
 {
     return MdnsAvahi::GetInstance().Init(initCallback, errorCallback, context);
 }
 
-CHIP_ERROR ChipMdnsShutdown()
+CHIP_ERROR ChipDnssdShutdown()
 {
     return MdnsAvahi::GetInstance().Shutdown();
 }
 
-CHIP_ERROR ChipMdnsPublishService(const MdnsService * service)
+CHIP_ERROR ChipDnssdPublishService(const DnssdService * service)
 {
     if (strcmp(service->mHostName, "") != 0)
     {
@@ -793,24 +793,24 @@
     return MdnsAvahi::GetInstance().PublishService(*service);
 }
 
-CHIP_ERROR ChipMdnsRemoveServices()
+CHIP_ERROR ChipDnssdRemoveServices()
 {
     return MdnsAvahi::GetInstance().StopPublish();
 }
 
-CHIP_ERROR ChipMdnsFinalizeServiceUpdate()
+CHIP_ERROR ChipDnssdFinalizeServiceUpdate()
 {
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsBrowse(const char * type, MdnsServiceProtocol protocol, chip::Inet::IPAddressType addressType,
-                          chip::Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context)
+CHIP_ERROR ChipDnssdBrowse(const char * type, DnssdServiceProtocol protocol, chip::Inet::IPAddressType addressType,
+                           chip::Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context)
 {
     return MdnsAvahi::GetInstance().Browse(type, protocol, addressType, interface, callback, context);
 }
 
-CHIP_ERROR ChipMdnsResolve(MdnsService * browseResult, chip::Inet::InterfaceId interface, MdnsResolveCallback callback,
-                           void * context)
+CHIP_ERROR ChipDnssdResolve(DnssdService * browseResult, chip::Inet::InterfaceId interface, DnssdResolveCallback callback,
+                            void * context)
 
 {
     CHIP_ERROR error;
@@ -827,5 +827,5 @@
     return error;
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/Linux/MdnsImpl.h b/src/platform/Linux/DnssdImpl.h
similarity index 85%
rename from src/platform/Linux/MdnsImpl.h
rename to src/platform/Linux/DnssdImpl.h
index 0842c83..ed18d81 100644
--- a/src/platform/Linux/MdnsImpl.h
+++ b/src/platform/Linux/DnssdImpl.h
@@ -33,7 +33,7 @@
 #include <avahi-common/error.h>
 #include <avahi-common/watch.h>
 
-#include "lib/mdns/platform/Mdns.h"
+#include "lib/dnssd/platform/Dnssd.h"
 
 struct AvahiWatch
 {
@@ -55,7 +55,7 @@
 };
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 class Poller
 {
@@ -103,15 +103,15 @@
     MdnsAvahi(const MdnsAvahi &) = delete;
     MdnsAvahi & operator=(const MdnsAvahi &) = delete;
 
-    CHIP_ERROR Init(MdnsAsyncReturnCallback initCallback, MdnsAsyncReturnCallback errorCallback, void * context);
+    CHIP_ERROR Init(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context);
     CHIP_ERROR Shutdown();
     CHIP_ERROR SetHostname(const char * hostname);
-    CHIP_ERROR PublishService(const MdnsService & service);
+    CHIP_ERROR PublishService(const DnssdService & service);
     CHIP_ERROR StopPublish();
-    CHIP_ERROR Browse(const char * type, MdnsServiceProtocol protocol, chip::Inet::IPAddressType addressType,
-                      chip::Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context);
-    CHIP_ERROR Resolve(const char * name, const char * type, MdnsServiceProtocol protocol, chip::Inet::IPAddressType addressType,
-                       chip::Inet::InterfaceId interface, MdnsResolveCallback callback, void * context);
+    CHIP_ERROR Browse(const char * type, DnssdServiceProtocol protocol, chip::Inet::IPAddressType addressType,
+                      chip::Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context);
+    CHIP_ERROR Resolve(const char * name, const char * type, DnssdServiceProtocol protocol, chip::Inet::IPAddressType addressType,
+                       chip::Inet::InterfaceId interface, DnssdResolveCallback callback, void * context);
 
     Poller & GetPoller() { return mPoller; }
 
@@ -121,15 +121,15 @@
     struct BrowseContext
     {
         MdnsAvahi * mInstance;
-        MdnsBrowseCallback mCallback;
+        DnssdBrowseCallback mCallback;
         void * mContext;
-        std::vector<MdnsService> mServices;
+        std::vector<DnssdService> mServices;
     };
 
     struct ResolveContext
     {
         MdnsAvahi * mInstance;
-        MdnsResolveCallback mCallback;
+        DnssdResolveCallback mCallback;
         void * mContext;
     };
 
@@ -150,8 +150,8 @@
                               const char * host_name, const AvahiAddress * address, uint16_t port, AvahiStringList * txt,
                               AvahiLookupResultFlags flags, void * userdata);
 
-    MdnsAsyncReturnCallback mInitCallback;
-    MdnsAsyncReturnCallback mErrorCallback;
+    DnssdAsyncReturnCallback mInitCallback;
+    DnssdAsyncReturnCallback mErrorCallback;
     void * mAsyncReturnContext;
 
     std::set<std::string> mPublishedServices;
@@ -160,5 +160,5 @@
     Poller mPoller;
 };
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/OpenThread/MdnsImpl.cpp b/src/platform/OpenThread/DnssdImpl.cpp
similarity index 75%
rename from src/platform/OpenThread/MdnsImpl.cpp
rename to src/platform/OpenThread/DnssdImpl.cpp
index b020354..11dfb1f 100644
--- a/src/platform/OpenThread/MdnsImpl.cpp
+++ b/src/platform/OpenThread/DnssdImpl.cpp
@@ -15,7 +15,7 @@
  *    limitations under the License.
  */
 
-#include "lib/mdns/platform/Mdns.h"
+#include "lib/dnssd/platform/Dnssd.h"
 
 #include <lib/support/CodeUtils.h>
 #include <platform/CHIPDeviceLayer.h>
@@ -24,32 +24,32 @@
 using namespace ::chip::DeviceLayer;
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
-CHIP_ERROR ChipMdnsInit(MdnsAsyncReturnCallback initCallback, MdnsAsyncReturnCallback errorCallback, void * context)
+CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context)
 {
     ReturnErrorOnFailure(ThreadStackMgr().SetSrpDnsCallbacks(initCallback, errorCallback, context));
 
     uint8_t macBuffer[ConfigurationManager::kPrimaryMACAddressLength];
     MutableByteSpan mac(macBuffer);
-    char hostname[kMdnsHostNameMaxSize + 1] = "";
+    char hostname[kDnssdHostNameMaxSize + 1] = "";
     ReturnErrorOnFailure(DeviceLayer::ConfigurationMgr().GetPrimaryMACAddress(mac));
     MakeHostName(hostname, sizeof(hostname), mac);
 
     return ThreadStackMgr().ClearSrpHost(hostname);
 }
 
-CHIP_ERROR ChipMdnsShutdown()
+CHIP_ERROR ChipDnssdShutdown()
 {
     return CHIP_NO_ERROR;
 }
 
-const char * GetProtocolString(MdnsServiceProtocol protocol)
+const char * GetProtocolString(DnssdServiceProtocol protocol)
 {
-    return protocol == MdnsServiceProtocol::kMdnsProtocolUdp ? "_udp" : "_tcp";
+    return protocol == DnssdServiceProtocol::kDnssdProtocolUdp ? "_udp" : "_tcp";
 }
 
-CHIP_ERROR ChipMdnsPublishService(const MdnsService * service)
+CHIP_ERROR ChipDnssdPublishService(const DnssdService * service)
 {
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
     ReturnErrorCodeIf(service == nullptr, CHIP_ERROR_INVALID_ARGUMENT);
@@ -58,7 +58,7 @@
         ReturnErrorOnFailure(ThreadStackMgr().SetupSrpHost(service->mHostName));
     }
 
-    char serviceType[chip::Mdns::kMdnsTypeAndProtocolMaxSize + 1];
+    char serviceType[chip::Dnssd::kDnssdTypeAndProtocolMaxSize + 1];
     snprintf(serviceType, sizeof(serviceType), "%s.%s", service->mType, GetProtocolString(service->mProtocol));
 
     Span<const char * const> subTypes(service->mSubTypes, service->mSubTypeSize);
@@ -69,7 +69,7 @@
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
 }
 
-CHIP_ERROR ChipMdnsRemoveServices()
+CHIP_ERROR ChipDnssdRemoveServices()
 {
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
     ThreadStackMgr().InvalidateAllSrpServices();
@@ -79,7 +79,7 @@
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
 }
 
-CHIP_ERROR ChipMdnsFinalizeServiceUpdate()
+CHIP_ERROR ChipDnssdFinalizeServiceUpdate()
 {
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
     return ThreadStackMgr().RemoveInvalidSrpServices();
@@ -88,14 +88,14 @@
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
 }
 
-CHIP_ERROR ChipMdnsBrowse(const char * type, MdnsServiceProtocol protocol, Inet::IPAddressType addressType,
-                          Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context)
+CHIP_ERROR ChipDnssdBrowse(const char * type, DnssdServiceProtocol protocol, Inet::IPAddressType addressType,
+                           Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context)
 {
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT && CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
     if (type == nullptr || callback == nullptr)
         return CHIP_ERROR_INVALID_ARGUMENT;
 
-    char serviceType[Mdns::kMdnsFullTypeAndProtocolMaxSize + 1]; // +1 for null-terminator
+    char serviceType[Dnssd::kDnssdFullTypeAndProtocolMaxSize + 1]; // +1 for null-terminator
     snprintf(serviceType, sizeof(serviceType), "%s.%s", type, GetProtocolString(protocol));
 
     return ThreadStackMgr().DnsBrowse(serviceType, callback, context);
@@ -104,13 +104,13 @@
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT && CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
 }
 
-CHIP_ERROR ChipMdnsResolve(MdnsService * browseResult, Inet::InterfaceId interface, MdnsResolveCallback callback, void * context)
+CHIP_ERROR ChipDnssdResolve(DnssdService * browseResult, Inet::InterfaceId interface, DnssdResolveCallback callback, void * context)
 {
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT && CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
     if (browseResult == nullptr || callback == nullptr)
         return CHIP_ERROR_INVALID_ARGUMENT;
 
-    char serviceType[chip::Mdns::kMdnsTypeAndProtocolMaxSize + 1];
+    char serviceType[chip::Dnssd::kDnssdTypeAndProtocolMaxSize + 1];
     snprintf(serviceType, sizeof(serviceType), "%s.%s", browseResult->mType, GetProtocolString(browseResult->mProtocol));
 
     return ThreadStackMgr().DnsResolve(serviceType, browseResult->mName, callback, context);
@@ -119,5 +119,5 @@
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT && CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.cpp b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.cpp
index 4ea07f5..98a8f28 100644
--- a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.cpp
+++ b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.cpp
@@ -1623,7 +1623,7 @@
 CHIP_ERROR GenericThreadStackManagerImpl_OpenThread<ImplClass>::_AddSrpService(const char * aInstanceName, const char * aName,
                                                                                uint16_t aPort,
                                                                                const Span<const char * const> & aSubTypes,
-                                                                               const Span<const Mdns::TextEntry> & aTxtEntries,
+                                                                               const Span<const Dnssd::TextEntry> & aTxtEntries,
                                                                                uint32_t aLeaseInterval, uint32_t aKeyLeaseInterval)
 {
     CHIP_ERROR error                         = CHIP_NO_ERROR;
@@ -1684,7 +1684,7 @@
     VerifyOrExit(aTxtEntries.size() <= ArraySize(srpService->mTxtEntries), error = CHIP_ERROR_BUFFER_TOO_SMALL);
     entryId = 0;
 
-    for (const chip::Mdns::TextEntry & entry : aTxtEntries)
+    for (const chip::Dnssd::TextEntry & entry : aTxtEntries)
     {
         using OtTxtValueLength = decltype(srpService->mTxtEntries[entryId].mValueLength);
         static_assert(SrpClient::kServiceBufferSize <= std::numeric_limits<OtTxtValueLength>::max(),
@@ -1869,10 +1869,10 @@
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
 template <class ImplClass>
 CHIP_ERROR GenericThreadStackManagerImpl_OpenThread<ImplClass>::FromOtDnsResponseToMdnsData(
-    otDnsServiceInfo & serviceInfo, const char * serviceType, chip::Mdns::MdnsService & mdnsService,
+    otDnsServiceInfo & serviceInfo, const char * serviceType, chip::Dnssd::DnssdService & mdnsService,
     DnsServiceTxtEntries & serviceTxtEntries)
 {
-    char protocol[chip::Mdns::kMdnsProtocolTextMaxSize + 1];
+    char protocol[chip::Dnssd::kDnssdProtocolTextMaxSize + 1];
 
     if (strchr(serviceInfo.mHostNameBuffer, '.') == nullptr)
         return CHIP_ERROR_INVALID_ARGUMENT;
@@ -1903,17 +1903,17 @@
     // Append string terminating character.
     protocol[substringSize] = '\0';
 
-    if (strncmp(protocol, "_udp", chip::Mdns::kMdnsProtocolTextMaxSize) == 0)
+    if (strncmp(protocol, "_udp", chip::Dnssd::kDnssdProtocolTextMaxSize) == 0)
     {
-        mdnsService.mProtocol = chip::Mdns::MdnsServiceProtocol::kMdnsProtocolUdp;
+        mdnsService.mProtocol = chip::Dnssd::DnssdServiceProtocol::kDnssdProtocolUdp;
     }
-    else if (strncmp(protocol, "_tcp", chip::Mdns::kMdnsProtocolTextMaxSize) == 0)
+    else if (strncmp(protocol, "_tcp", chip::Dnssd::kDnssdProtocolTextMaxSize) == 0)
     {
-        mdnsService.mProtocol = chip::Mdns::MdnsServiceProtocol::kMdnsProtocolTcp;
+        mdnsService.mProtocol = chip::Dnssd::DnssdServiceProtocol::kDnssdProtocolTcp;
     }
     else
     {
-        mdnsService.mProtocol = chip::Mdns::MdnsServiceProtocol::kMdnsProtocolUnknown;
+        mdnsService.mProtocol = chip::Dnssd::DnssdServiceProtocol::kDnssdProtocolUnknown;
     }
     mdnsService.mPort        = serviceInfo.mPort;
     mdnsService.mInterface   = INET_NULL_INTERFACEID;
@@ -1952,10 +1952,10 @@
 {
     CHIP_ERROR error;
     DnsResult browseResult;
-    // type buffer size is kMdnsTypeAndProtocolMaxSize + . + kMaxDomainNameSize + . + termination character
-    char type[chip::Mdns::kMdnsTypeAndProtocolMaxSize + SrpClient::kMaxDomainNameSize + 3];
-    // hostname buffer size is kMdnsHostNameMaxSize + . + kMaxDomainNameSize + . + termination character
-    char hostname[chip::Mdns::kMdnsHostNameMaxSize + SrpClient::kMaxDomainNameSize + 3];
+    // type buffer size is kDnssdTypeAndProtocolMaxSize + . + kMaxDomainNameSize + . + termination character
+    char type[chip::Dnssd::kDnssdTypeAndProtocolMaxSize + SrpClient::kMaxDomainNameSize + 3];
+    // hostname buffer size is kDnssdHostNameMaxSize + . + kMaxDomainNameSize + . + termination character
+    char hostname[chip::Dnssd::kDnssdHostNameMaxSize + SrpClient::kMaxDomainNameSize + 3];
     // secure space for the raw TXT data in the worst-case scenario relevant for Matter:
     // each entry consists of txt_entry_size (1B) + txt_entry_key + "=" + txt_entry_data
     uint8_t txtBuffer[kMaxDnsServiceTxtEntriesNumber + kTotalDnsServiceTxtBufferSize];
@@ -2023,8 +2023,8 @@
     mDnsBrowseCallback = aCallback;
 
     // Append default SRP domain name to the service name.
-    // fullServiceName buffer size is kMdnsFullTypeAndProtocolMaxSize + . + kDefaultDomainNameSize + null-terminator.
-    char fullServiceName[Mdns::kMdnsFullTypeAndProtocolMaxSize + 1 + SrpClient::kDefaultDomainNameSize + 1];
+    // fullServiceName buffer size is kDnssdFullTypeAndProtocolMaxSize + . + kDefaultDomainNameSize + null-terminator.
+    char fullServiceName[Dnssd::kDnssdFullTypeAndProtocolMaxSize + 1 + SrpClient::kDefaultDomainNameSize + 1];
     snprintf(fullServiceName, sizeof(fullServiceName), "%s.%s", aServiceName, SrpClient::kDefaultDomainName);
 
     error = MapOpenThreadError(otDnsClientBrowse(mOTInst, fullServiceName, OnDnsBrowseResult, aContext, /* config */ nullptr));
@@ -2042,10 +2042,10 @@
 {
     CHIP_ERROR error;
     DnsResult resolveResult;
-    // type buffer size is kMdnsTypeAndProtocolMaxSize + . + kMaxDomainNameSize + . + termination character
-    char type[chip::Mdns::kMdnsTypeAndProtocolMaxSize + SrpClient::kMaxDomainNameSize + 3];
-    // hostname buffer size is kMdnsHostNameMaxSize + . + kMaxDomainNameSize + . + termination character
-    char hostname[chip::Mdns::kMdnsHostNameMaxSize + SrpClient::kMaxDomainNameSize + 3];
+    // type buffer size is kDnssdTypeAndProtocolMaxSize + . + kMaxDomainNameSize + . + termination character
+    char type[chip::Dnssd::kDnssdTypeAndProtocolMaxSize + SrpClient::kMaxDomainNameSize + 3];
+    // hostname buffer size is kDnssdHostNameMaxSize + . + kMaxDomainNameSize + . + termination character
+    char hostname[chip::Dnssd::kDnssdHostNameMaxSize + SrpClient::kMaxDomainNameSize + 3];
     // secure space for the raw TXT data in the worst-case scenario relevant for Matter:
     // each entry consists of txt_entry_size (1B) + txt_entry_key + "=" + txt_entry_data
     uint8_t txtBuffer[kMaxDnsServiceTxtEntriesNumber + kTotalDnsServiceTxtBufferSize];
@@ -2097,8 +2097,8 @@
     mDnsResolveCallback = aCallback;
 
     // Append default SRP domain name to the service name.
-    // fullServiceName buffer size is kMdnsTypeAndProtocolMaxSize + . separator + kDefaultDomainNameSize + termination character.
-    char fullServiceName[chip::Mdns::kMdnsTypeAndProtocolMaxSize + 1 + SrpClient::kDefaultDomainNameSize + 1];
+    // fullServiceName buffer size is kDnssdTypeAndProtocolMaxSize + . separator + kDefaultDomainNameSize + termination character.
+    char fullServiceName[chip::Dnssd::kDnssdTypeAndProtocolMaxSize + 1 + SrpClient::kDefaultDomainNameSize + 1];
     snprintf(fullServiceName, sizeof(fullServiceName), "%s.%s", aServiceName, SrpClient::kDefaultDomainName);
 
     error = MapOpenThreadError(
diff --git a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h
index 1ec80a0..b30df3d 100644
--- a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h
+++ b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h
@@ -37,8 +37,8 @@
 #endif
 
 #include <app/AttributeAccessInterface.h>
-#include <lib/mdns/Advertiser.h>
-#include <lib/mdns/platform/Mdns.h>
+#include <lib/dnssd/Advertiser.h>
+#include <lib/dnssd/platform/Dnssd.h>
 
 namespace chip {
 namespace DeviceLayer {
@@ -101,7 +101,7 @@
 
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
     CHIP_ERROR _AddSrpService(const char * aInstanceName, const char * aName, uint16_t aPort,
-                              const Span<const char * const> & aSubTypes, const Span<const Mdns::TextEntry> & aTxtEntries,
+                              const Span<const char * const> & aSubTypes, const Span<const Dnssd::TextEntry> & aTxtEntries,
                               uint32_t aLeaseInterval, uint32_t aKeyLeaseInterval);
     CHIP_ERROR _RemoveSrpService(const char * aInstanceName, const char * aName);
     CHIP_ERROR _InvalidateAllSrpServices();
@@ -143,23 +143,23 @@
 
 #if CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY
         // Thread supports both operational and commissionable discovery, so buffers sizes must be worst case.
-        static constexpr size_t kSubTypeMaxNumber   = Mdns::kSubTypeMaxNumber;
-        static constexpr size_t kSubTypeTotalLength = Mdns::kSubTypeTotalLength;
+        static constexpr size_t kSubTypeMaxNumber   = Dnssd::kSubTypeMaxNumber;
+        static constexpr size_t kSubTypeTotalLength = Dnssd::kSubTypeTotalLength;
         static constexpr size_t kTxtMaxNumber =
-            std::max(Mdns::CommissionAdvertisingParameters::kTxtMaxNumber, Mdns::OperationalAdvertisingParameters::kTxtMaxNumber);
-        static constexpr size_t kTxtTotalValueLength = std::max(Mdns::CommissionAdvertisingParameters::kTxtTotalValueSize,
-                                                                Mdns::OperationalAdvertisingParameters::kTxtTotalValueSize);
+            std::max(Dnssd::CommissionAdvertisingParameters::kTxtMaxNumber, Dnssd::OperationalAdvertisingParameters::kTxtMaxNumber);
+        static constexpr size_t kTxtTotalValueLength = std::max(Dnssd::CommissionAdvertisingParameters::kTxtTotalValueSize,
+                                                                Dnssd::OperationalAdvertisingParameters::kTxtTotalValueSize);
 #else
         // Thread only supports operational discovery.
         static constexpr size_t kSubTypeMaxNumber    = 0;
         static constexpr size_t kSubTypeTotalLength  = 0;
-        static constexpr size_t kTxtMaxNumber        = Mdns::OperationalAdvertisingParameters::kTxtMaxNumber;
-        static constexpr size_t kTxtTotalValueLength = Mdns::OperationalAdvertisingParameters::kTxtTotalValueSize;
+        static constexpr size_t kTxtMaxNumber        = Dnssd::OperationalAdvertisingParameters::kTxtMaxNumber;
+        static constexpr size_t kTxtTotalValueLength = Dnssd::OperationalAdvertisingParameters::kTxtTotalValueSize;
 #endif
 
-        static constexpr size_t kServiceBufferSize = Mdns::kMdnsInstanceNameMaxSize + 1 + // add null-terminator
-            Mdns::kMdnsTypeAndProtocolMaxSize + 1 +                                       // add null-terminator
-            kSubTypeTotalLength + kSubTypeMaxNumber +                                     // add null-terminator for each subtype
+        static constexpr size_t kServiceBufferSize = Dnssd::kDnssdInstanceNameMaxSize + 1 + // add null-terminator
+            Dnssd::kDnssdTypeAndProtocolMaxSize + 1 +                                       // add null-terminator
+            kSubTypeTotalLength + kSubTypeMaxNumber +                                       // add null-terminator for each subtype
             kTxtTotalValueLength;
 
         struct Service
@@ -192,16 +192,16 @@
 #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_COMMISSIONABLE_DISCOVERY
     // Thread supports both operational and commissionable discovery, so buffers sizes must be worst case.
     static constexpr uint8_t kMaxDnsServiceTxtEntriesNumber =
-        std::max(Mdns::CommissionAdvertisingParameters::kTxtMaxNumber, Mdns::OperationalAdvertisingParameters::kTxtMaxNumber);
-    static constexpr size_t kTotalDnsServiceTxtValueSize = std::max(Mdns::CommissionAdvertisingParameters::kTxtTotalValueSize,
-                                                                    Mdns::OperationalAdvertisingParameters::kTxtTotalValueSize);
-    static constexpr size_t kTotalDnsServiceTxtKeySize =
-        std::max(Mdns::CommissionAdvertisingParameters::kTxtTotalKeySize, Mdns::OperationalAdvertisingParameters::kTxtTotalKeySize);
+        std::max(Dnssd::CommissionAdvertisingParameters::kTxtMaxNumber, Dnssd::OperationalAdvertisingParameters::kTxtMaxNumber);
+    static constexpr size_t kTotalDnsServiceTxtValueSize = std::max(Dnssd::CommissionAdvertisingParameters::kTxtTotalValueSize,
+                                                                    Dnssd::OperationalAdvertisingParameters::kTxtTotalValueSize);
+    static constexpr size_t kTotalDnsServiceTxtKeySize   = std::max(Dnssd::CommissionAdvertisingParameters::kTxtTotalKeySize,
+                                                                  Dnssd::OperationalAdvertisingParameters::kTxtTotalKeySize);
 #else
     // Thread only supports operational discovery.
-    static constexpr uint8_t kMaxDnsServiceTxtEntriesNumber = Mdns::OperationalAdvertisingParameters::kTxtMaxNumber;
-    static constexpr size_t kTotalDnsServiceTxtValueSize    = Mdns::OperationalAdvertisingParameters::kTxtTotalValueSize;
-    static constexpr size_t kTotalDnsServiceTxtKeySize      = Mdns::OperationalAdvertisingParameters::kTxtTotalKeySize;
+    static constexpr uint8_t kMaxDnsServiceTxtEntriesNumber = Dnssd::OperationalAdvertisingParameters::kTxtMaxNumber;
+    static constexpr size_t kTotalDnsServiceTxtValueSize    = Dnssd::OperationalAdvertisingParameters::kTxtTotalValueSize;
+    static constexpr size_t kTotalDnsServiceTxtKeySize      = Dnssd::OperationalAdvertisingParameters::kTxtTotalKeySize;
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_COMMISSIONABLE_DISCOVERY
     static constexpr size_t kTotalDnsServiceTxtBufferSize =
         kTotalDnsServiceTxtKeySize + kMaxDnsServiceTxtEntriesNumber + kTotalDnsServiceTxtValueSize;
@@ -212,19 +212,20 @@
     struct DnsServiceTxtEntries
     {
         uint8_t mBuffer[kTotalDnsServiceTxtBufferSize];
-        chip::Mdns::TextEntry mTxtEntries[kMaxDnsServiceTxtEntriesNumber];
+        chip::Dnssd::TextEntry mTxtEntries[kMaxDnsServiceTxtEntriesNumber];
     };
 
     struct DnsResult
     {
-        chip::Mdns::MdnsService mMdnsService;
+        chip::Dnssd::DnssdService mMdnsService;
         DnsServiceTxtEntries mServiceTxtEntry;
     };
 
     static void OnDnsBrowseResult(otError aError, const otDnsBrowseResponse * aResponse, void * aContext);
     static void OnDnsResolveResult(otError aError, const otDnsServiceResponse * aResponse, void * aContext);
     static CHIP_ERROR FromOtDnsResponseToMdnsData(otDnsServiceInfo & serviceInfo, const char * serviceType,
-                                                  chip::Mdns::MdnsService & mdnsService, DnsServiceTxtEntries & serviceTxtEntries);
+                                                  chip::Dnssd::DnssdService & mdnsService,
+                                                  DnsServiceTxtEntries & serviceTxtEntries);
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
 #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
 
diff --git a/src/platform/P6/BUILD.gn b/src/platform/P6/BUILD.gn
index 07a0969..45fbf8e 100644
--- a/src/platform/P6/BUILD.gn
+++ b/src/platform/P6/BUILD.gn
@@ -64,7 +64,7 @@
     "cycfg_gatt_db.c",
     "cycfg_gatt_db.h",
   ]
-  deps = [ "${chip_root}/src/lib/mdns:platform_header" ]
+  deps = [ "${chip_root}/src/lib/dnssd:platform_header" ]
 
   public_deps = [
     "${chip_root}/src/crypto",
diff --git a/src/platform/Tizen/BUILD.gn b/src/platform/Tizen/BUILD.gn
index 8cf365f..c30f733 100644
--- a/src/platform/Tizen/BUILD.gn
+++ b/src/platform/Tizen/BUILD.gn
@@ -64,8 +64,8 @@
   public_configs = []
 
   if (chip_mdns == "platform") {
-    sources += [ "MdnsImpl.cpp" ]
+    sources += [ "DnssdImpl.cpp" ]
 
-    deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+    deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
   }
 }
diff --git a/src/platform/Tizen/DnssdImpl.cpp b/src/platform/Tizen/DnssdImpl.cpp
new file mode 100644
index 0000000..0f4702d
--- /dev/null
+++ b/src/platform/Tizen/DnssdImpl.cpp
@@ -0,0 +1,77 @@
+/*
+ *
+ *    Copyright (c) 2021 Project CHIP Authors
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+#include "lib/dnssd/platform/Dnssd.h"
+
+using namespace chip::Dnssd;
+
+namespace {
+
+} // namespace
+
+namespace chip {
+namespace Dnssd {
+
+CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback successCallback, DnssdAsyncReturnCallback errorCallback, void * context)
+{
+    successCallback(context, CHIP_ERROR_NOT_IMPLEMENTED);
+    return CHIP_ERROR_NOT_IMPLEMENTED;
+}
+
+CHIP_ERROR ChipDnssdShutdown()
+{
+    return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR ChipDnssdSetHostname(const char * hostname)
+{
+    return CHIP_ERROR_NOT_IMPLEMENTED;
+}
+
+CHIP_ERROR ChipDnssdPublishService(const DnssdService * service)
+{
+    return CHIP_ERROR_NOT_IMPLEMENTED;
+}
+
+CHIP_ERROR ChipDnssdRemoveServices()
+{
+    return CHIP_ERROR_NOT_IMPLEMENTED;
+}
+
+CHIP_ERROR ChipDnssdFinalizeServiceUpdate()
+{
+    return CHIP_ERROR_NOT_IMPLEMENTED;
+}
+
+CHIP_ERROR ChipDnssdBrowse(const char * type, DnssdServiceProtocol protocol, chip::Inet::IPAddressType addressType,
+                           chip::Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context)
+{
+    return CHIP_ERROR_NOT_IMPLEMENTED;
+}
+
+CHIP_ERROR ChipDnssdResolve(DnssdService * service, chip::Inet::InterfaceId interface, DnssdResolveCallback callback,
+                            void * context)
+{
+    return CHIP_ERROR_NOT_IMPLEMENTED;
+}
+
+void GetMdnsTimeout(timeval & timeout) {}
+
+void HandleMdnsTimeout() {}
+
+} // namespace Dnssd
+} // namespace chip
diff --git a/src/platform/Tizen/MdnsImpl.cpp b/src/platform/Tizen/MdnsImpl.cpp
deleted file mode 100644
index aa57108..0000000
--- a/src/platform/Tizen/MdnsImpl.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- *
- *    Copyright (c) 2021 Project CHIP Authors
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-
-#include "lib/mdns/platform/Mdns.h"
-
-using namespace chip::Mdns;
-
-namespace {
-
-} // namespace
-
-namespace chip {
-namespace Mdns {
-
-CHIP_ERROR ChipMdnsInit(MdnsAsyncReturnCallback successCallback, MdnsAsyncReturnCallback errorCallback, void * context)
-{
-    successCallback(context, CHIP_ERROR_NOT_IMPLEMENTED);
-    return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
-CHIP_ERROR ChipMdnsShutdown()
-{
-    return CHIP_NO_ERROR;
-}
-
-CHIP_ERROR ChipMdnsSetHostname(const char * hostname)
-{
-    return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
-CHIP_ERROR ChipMdnsPublishService(const MdnsService * service)
-{
-    return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
-CHIP_ERROR ChipMdnsRemoveServices()
-{
-    return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
-CHIP_ERROR ChipMdnsFinalizeServiceUpdate()
-{
-    return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
-CHIP_ERROR ChipMdnsBrowse(const char * type, MdnsServiceProtocol protocol, chip::Inet::IPAddressType addressType,
-                          chip::Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context)
-{
-    return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
-CHIP_ERROR ChipMdnsResolve(MdnsService * service, chip::Inet::InterfaceId interface, MdnsResolveCallback callback, void * context)
-{
-    return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
-void GetMdnsTimeout(timeval & timeout) {}
-
-void HandleMdnsTimeout() {}
-
-} // namespace Mdns
-} // namespace chip
diff --git a/src/platform/android/AndroidChipPlatform-JNI.cpp b/src/platform/android/AndroidChipPlatform-JNI.cpp
index 41c4da5..bd1bbca 100644
--- a/src/platform/android/AndroidChipPlatform-JNI.cpp
+++ b/src/platform/android/AndroidChipPlatform-JNI.cpp
@@ -35,7 +35,7 @@
 
 #include "AndroidChipPlatform-JNI.h"
 #include "BLEManagerImpl.h"
-#include "MdnsImpl.h"
+#include "DnssdImpl.h"
 
 using namespace chip;
 
@@ -204,14 +204,14 @@
 JNI_METHOD(void, nativeSetServiceResolver)(JNIEnv * env, jclass self, jobject resolver, jobject chipMdnsCallback)
 {
     chip::DeviceLayer::StackLock lock;
-    chip::Mdns::InitializeWithObjects(resolver, chipMdnsCallback);
+    chip::Dnssd::InitializeWithObjects(resolver, chipMdnsCallback);
 }
 
 JNI_MDNSCALLBACK_METHOD(void, handleServiceResolve)
 (JNIEnv * env, jclass self, jstring instanceName, jstring serviceType, jstring address, jint port, jlong callbackHandle,
  jlong contextHandle)
 {
-    using ::chip::Mdns::HandleResolve;
+    using ::chip::Dnssd::HandleResolve;
     HandleResolve(instanceName, serviceType, address, port, callbackHandle, contextHandle);
 }
 
diff --git a/src/platform/android/BUILD.gn b/src/platform/android/BUILD.gn
index fc67593..a12d6aa 100644
--- a/src/platform/android/BUILD.gn
+++ b/src/platform/android/BUILD.gn
@@ -41,16 +41,16 @@
     "ConnectivityManagerImpl.h",
     "DeviceNetworkProvisioningDelegateImpl.cpp",
     "DeviceNetworkProvisioningDelegateImpl.h",
+    "DnssdImpl.cpp",
+    "DnssdImpl.h",
     "KeyValueStoreManagerImpl.cpp",
     "KeyValueStoreManagerImpl.h",
-    "MdnsImpl.cpp",
-    "MdnsImpl.h",
     "PlatformManagerImpl.cpp",
     "PlatformManagerImpl.h",
   ]
 
   deps = [
-    "${chip_root}/src/lib/mdns:platform_header",
+    "${chip_root}/src/lib/dnssd:platform_header",
     "${chip_root}/src/setup_payload",
   ]
 
diff --git a/src/platform/android/MdnsImpl.cpp b/src/platform/android/DnssdImpl.cpp
similarity index 76%
rename from src/platform/android/MdnsImpl.cpp
rename to src/platform/android/DnssdImpl.cpp
index 7520685..4b1e5e1 100644
--- a/src/platform/android/MdnsImpl.cpp
+++ b/src/platform/android/DnssdImpl.cpp
@@ -15,14 +15,14 @@
  *    limitations under the License.
  */
 
-#include "MdnsImpl.h"
+#include "DnssdImpl.h"
 
 #include <jni.h>
 #include <lib/support/CHIPJNIError.h>
 #include <lib/support/JniReferences.h>
 #include <lib/support/JniTypeWrappers.h>
 
-#include <lib/mdns/platform/Mdns.h>
+#include <lib/dnssd/platform/Dnssd.h>
 #include <lib/support/CHIPMemString.h>
 #include <lib/support/CodeUtils.h>
 #include <lib/support/SafeInt.h>
@@ -31,7 +31,7 @@
 #include <string>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 using namespace chip::Platform;
 
@@ -41,9 +41,9 @@
 jmethodID sResolveMethod    = nullptr;
 } // namespace
 
-// Implemention of functions declared in lib/mdns/platform/Mdns.h
+// Implemention of functions declared in lib/dnssd/platform/Dnssd.h
 
-CHIP_ERROR ChipMdnsInit(MdnsAsyncReturnCallback initCallback, MdnsAsyncReturnCallback errorCallback, void * context)
+CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context)
 {
     VerifyOrReturnError(initCallback != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
     VerifyOrReturnError(errorCallback != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
@@ -52,34 +52,34 @@
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsShutdown()
+CHIP_ERROR ChipDnssdShutdown()
 {
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsRemoveServices()
+CHIP_ERROR ChipDnssdRemoveServices()
 {
     return CHIP_ERROR_NOT_IMPLEMENTED;
 }
 
-CHIP_ERROR ChipMdnsPublishService(const MdnsService * service)
+CHIP_ERROR ChipDnssdPublishService(const DnssdService * service)
 {
     return CHIP_ERROR_NOT_IMPLEMENTED;
 }
 
-CHIP_ERROR ChipMdnsFinalizeServiceUpdate()
+CHIP_ERROR ChipDnssdFinalizeServiceUpdate()
 {
     return CHIP_ERROR_NOT_IMPLEMENTED;
 }
 
-CHIP_ERROR ChipMdnsBrowse(const char * type, MdnsServiceProtocol protocol, Inet::IPAddressType addressType,
-                          Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context)
+CHIP_ERROR ChipDnssdBrowse(const char * type, DnssdServiceProtocol protocol, Inet::IPAddressType addressType,
+                           Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context)
 {
     // TODO: Implement DNS-SD browse for Android
     return CHIP_ERROR_NOT_IMPLEMENTED;
 }
 
-CHIP_ERROR ChipMdnsResolve(MdnsService * service, Inet::InterfaceId interface, MdnsResolveCallback callback, void * context)
+CHIP_ERROR ChipDnssdResolve(DnssdService * service, Inet::InterfaceId interface, DnssdResolveCallback callback, void * context)
 {
     VerifyOrReturnError(service != nullptr && callback != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
     VerifyOrReturnError(sResolverObject != nullptr && sResolveMethod != nullptr, CHIP_ERROR_INCORRECT_STATE);
@@ -87,7 +87,7 @@
 
     std::string serviceType = service->mType;
     serviceType += '.';
-    serviceType += (service->mProtocol == MdnsServiceProtocol::kMdnsProtocolUdp ? "_udp" : "_tcp");
+    serviceType += (service->mProtocol == DnssdServiceProtocol::kDnssdProtocolUdp ? "_udp" : "_tcp");
 
     JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread();
     UtfString jniInstanceName(env, service->mName);
@@ -98,7 +98,7 @@
 
     if (env->ExceptionCheck())
     {
-        ChipLogError(Discovery, "Java exception in ChipMdnsResolve");
+        ChipLogError(Discovery, "Java exception in ChipDnssdResolve");
         env->ExceptionDescribe();
         env->ExceptionClear();
         return CHIP_JNI_ERROR_EXCEPTION_THROWN;
@@ -132,8 +132,8 @@
 {
     VerifyOrReturn(callbackHandle != 0, ChipLogError(Discovery, "HandleResolve called with callback equal to nullptr"));
 
-    const auto dispatch = [callbackHandle, contextHandle](CHIP_ERROR error, MdnsService * service = nullptr) {
-        MdnsResolveCallback callback = reinterpret_cast<MdnsResolveCallback>(callbackHandle);
+    const auto dispatch = [callbackHandle, contextHandle](CHIP_ERROR error, DnssdService * service = nullptr) {
+        DnssdResolveCallback callback = reinterpret_cast<DnssdResolveCallback>(callbackHandle);
         callback(reinterpret_cast<void *>(contextHandle), service, error);
     };
 
@@ -145,12 +145,12 @@
     JniUtfString jniAddress(env, address);
     Inet::IPAddress ipAddress;
 
-    VerifyOrReturn(strlen(jniInstanceName.c_str()) <= kMdnsInstanceNameMaxSize, dispatch(CHIP_ERROR_INVALID_ARGUMENT));
-    VerifyOrReturn(strlen(jniServiceType.c_str()) <= kMdnsTypeAndProtocolMaxSize, dispatch(CHIP_ERROR_INVALID_ARGUMENT));
+    VerifyOrReturn(strlen(jniInstanceName.c_str()) <= kDnssdInstanceNameMaxSize, dispatch(CHIP_ERROR_INVALID_ARGUMENT));
+    VerifyOrReturn(strlen(jniServiceType.c_str()) <= kDnssdTypeAndProtocolMaxSize, dispatch(CHIP_ERROR_INVALID_ARGUMENT));
     VerifyOrReturn(CanCastTo<uint16_t>(port), dispatch(CHIP_ERROR_INVALID_ARGUMENT));
     VerifyOrReturn(Inet::IPAddress::FromString(jniAddress.c_str(), ipAddress), dispatch(CHIP_ERROR_INVALID_ARGUMENT));
 
-    MdnsService service = {};
+    DnssdService service = {};
     CopyString(service.mName, jniInstanceName.c_str());
     CopyString(service.mType, jniServiceType.c_str());
     service.mAddress.SetValue(ipAddress);
@@ -159,5 +159,5 @@
     dispatch(CHIP_NO_ERROR, &service);
 }
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/android/MdnsImpl.h b/src/platform/android/DnssdImpl.h
similarity index 96%
rename from src/platform/android/MdnsImpl.h
rename to src/platform/android/DnssdImpl.h
index c7efdd1..0a6b308 100644
--- a/src/platform/android/MdnsImpl.h
+++ b/src/platform/android/DnssdImpl.h
@@ -20,7 +20,7 @@
 #include <jni.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 /**
  * Initialize DNS-SD implementation for Android with an object of a class
@@ -35,5 +35,5 @@
 void HandleResolve(jstring instanceName, jstring serviceType, jstring address, jint port, jlong callbackHandle,
                    jlong contextHandle);
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/cc13x2_26x2/BUILD.gn b/src/platform/cc13x2_26x2/BUILD.gn
index d0a64c9..346f1c2 100644
--- a/src/platform/cc13x2_26x2/BUILD.gn
+++ b/src/platform/cc13x2_26x2/BUILD.gn
@@ -83,8 +83,8 @@
     ]
 
     if (chip_mdns == "platform") {
-      sources += [ "../OpenThread/MdnsImpl.cpp" ]
-      deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+      sources += [ "../OpenThread/DnssdImpl.cpp" ]
+      deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
     }
   }
 }
diff --git a/src/platform/fake/BUILD.gn b/src/platform/fake/BUILD.gn
index 874ba82..9c4d008 100644
--- a/src/platform/fake/BUILD.gn
+++ b/src/platform/fake/BUILD.gn
@@ -25,14 +25,14 @@
     "ConfigurationManagerImpl.h",
     "ConnectivityManagerImpl.cpp",
     "ConnectivityManagerImpl.h",
+    "DnssdImpl.cpp",
     "KeyValueStoreManagerImpl.cpp",
     "KeyValueStoreManagerImpl.h",
-    "MdnsImpl.cpp",
     "PlatformManagerImpl.cpp",
     "PlatformManagerImpl.h",
   ]
   public_deps = [
-    "${chip_root}/src/lib/mdns:platform_header",
+    "${chip_root}/src/lib/dnssd:platform_header",
     "${chip_root}/src/platform:platform_base",
   ]
 }
diff --git a/src/platform/fake/MdnsImpl.cpp b/src/platform/fake/DnssdImpl.cpp
similarity index 78%
rename from src/platform/fake/MdnsImpl.cpp
rename to src/platform/fake/DnssdImpl.cpp
index f529afb..553d04b 100644
--- a/src/platform/fake/MdnsImpl.cpp
+++ b/src/platform/fake/DnssdImpl.cpp
@@ -14,11 +14,11 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include "MdnsImpl.h"
-#include "lib/mdns/platform/Mdns.h"
+#include "DnssdImpl.h"
+#include "lib/dnssd/platform/Dnssd.h"
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 namespace test {
 namespace {
@@ -51,7 +51,7 @@
     }
 }
 
-CHIP_ERROR CheckExpected(CallType type, const MdnsService * service)
+CHIP_ERROR CheckExpected(CallType type, const DnssdService * service)
 {
     for (size_t i = 0; i < test::numExpectedCalls; ++i)
     {
@@ -90,40 +90,40 @@
 
 } // namespace test
 
-CHIP_ERROR ChipMdnsInit(MdnsAsyncReturnCallback initCallback, MdnsAsyncReturnCallback errorCallback, void * context)
+CHIP_ERROR ChipDnssdInit(DnssdAsyncReturnCallback initCallback, DnssdAsyncReturnCallback errorCallback, void * context)
 {
     initCallback(context, CHIP_NO_ERROR);
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsShutdown()
+CHIP_ERROR ChipDnssdShutdown()
 {
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsPublishService(const MdnsService * service)
+CHIP_ERROR ChipDnssdPublishService(const DnssdService * service)
 {
     return test::CheckExpected(test::CallType::kStart, service);
 }
 
-CHIP_ERROR ChipMdnsRemoveServices()
+CHIP_ERROR ChipDnssdRemoveServices()
 {
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsFinalizeServiceUpdate()
+CHIP_ERROR ChipDnssdFinalizeServiceUpdate()
 {
     return CHIP_NO_ERROR;
 }
 
-CHIP_ERROR ChipMdnsBrowse(const char * type, MdnsServiceProtocol protocol, chip::Inet::IPAddressType addressType,
-                          chip::Inet::InterfaceId interface, MdnsBrowseCallback callback, void * context)
+CHIP_ERROR ChipDnssdBrowse(const char * type, DnssdServiceProtocol protocol, chip::Inet::IPAddressType addressType,
+                           chip::Inet::InterfaceId interface, DnssdBrowseCallback callback, void * context)
 {
     return CHIP_ERROR_NOT_IMPLEMENTED;
 }
 
-CHIP_ERROR ChipMdnsResolve(MdnsService * browseResult, chip::Inet::InterfaceId interface, MdnsResolveCallback callback,
-                           void * context)
+CHIP_ERROR ChipDnssdResolve(DnssdService * browseResult, chip::Inet::InterfaceId interface, DnssdResolveCallback callback,
+                            void * context)
 
 {
     return CHIP_ERROR_NOT_IMPLEMENTED;
@@ -132,5 +132,5 @@
 void GetMdnsTimeout(timeval & timeout) {}
 void HandleMdnsTimeout() {}
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/fake/MdnsImpl.h b/src/platform/fake/DnssdImpl.h
similarity index 87%
rename from src/platform/fake/MdnsImpl.h
rename to src/platform/fake/DnssdImpl.h
index 79212bb..ec50b4a 100644
--- a/src/platform/fake/MdnsImpl.h
+++ b/src/platform/fake/DnssdImpl.h
@@ -17,11 +17,11 @@
 
 #pragma once
 
-#include "lib/mdns/platform/Mdns.h"
+#include "lib/dnssd/platform/Dnssd.h"
 #include <lib/support/CHIPMemString.h>
 
 namespace chip {
-namespace Mdns {
+namespace Dnssd {
 
 namespace test {
 enum class CallType
@@ -92,7 +92,7 @@
         Platform::CopyString(hostName, name);
         return *this;
     }
-    ExpectedCall & SetProtocol(MdnsServiceProtocol prot)
+    ExpectedCall & SetProtocol(DnssdServiceProtocol prot)
     {
         protocol = prot;
         return *this;
@@ -120,7 +120,7 @@
         return false;
     }
 
-    bool CheckMatch(CallType call, const MdnsService * service) const
+    bool CheckMatch(CallType call, const DnssdService * service) const
     {
         bool callOk       = call == callType;
         bool instanceOk   = strcmp(instanceName, service->mName) == 0;
@@ -169,19 +169,19 @@
         }
     }
 
-    static constexpr size_t kMaxTxtRecords          = 11;
-    static constexpr size_t kMaxSubtypes            = 10;
-    CallType callType                               = CallType::kUnknown;
-    MdnsServiceProtocol protocol                    = MdnsServiceProtocol::kMdnsProtocolUnknown;
-    char instanceName[kMdnsInstanceNameMaxSize + 1] = "";
-    char hostName[kMdnsHostNameMaxSize + 1]         = "";
-    char serviceName[kMdnsTypeMaxSize + 1]          = "";
+    static constexpr size_t kMaxTxtRecords           = 11;
+    static constexpr size_t kMaxSubtypes             = 10;
+    CallType callType                                = CallType::kUnknown;
+    DnssdServiceProtocol protocol                    = DnssdServiceProtocol::kDnssdProtocolUnknown;
+    char instanceName[kDnssdInstanceNameMaxSize + 1] = "";
+    char hostName[kDnssdHostNameMaxSize + 1]         = "";
+    char serviceName[kDnssdTypeMaxSize + 1]          = "";
     ExpectedSubtype subtype[kMaxSubtypes];
     size_t numSubtypes = 0;
     ExpectedTxt txt[kMaxTxtRecords];
     size_t numTxt = 0;
 
-    bool IsValid() const { return callType != CallType::kUnknown && protocol != MdnsServiceProtocol::kMdnsProtocolUnknown; }
+    bool IsValid() const { return callType != CallType::kUnknown && protocol != DnssdServiceProtocol::kDnssdProtocolUnknown; }
 };
 
 CHIP_ERROR AddExpectedCall(const ExpectedCall & call);
@@ -189,5 +189,5 @@
 
 } // namespace test
 
-} // namespace Mdns
+} // namespace Dnssd
 } // namespace chip
diff --git a/src/platform/mbed/BUILD.gn b/src/platform/mbed/BUILD.gn
index bd8ced7..138cc3e 100644
--- a/src/platform/mbed/BUILD.gn
+++ b/src/platform/mbed/BUILD.gn
@@ -40,7 +40,7 @@
   public_deps = [ "${chip_root}/src/platform:platform_base" ]
 
   if (chip_enable_openthread && chip_mdns == "platform") {
-    sources += [ "../OpenThread/MdnsImpl.cpp" ]
-    deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+    sources += [ "../OpenThread/DnssdImpl.cpp" ]
+    deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
   }
 }
diff --git a/src/platform/mbed/CHIPDevicePlatformConfig.h b/src/platform/mbed/CHIPDevicePlatformConfig.h
index 6423767..dbf0862 100644
--- a/src/platform/mbed/CHIPDevicePlatformConfig.h
+++ b/src/platform/mbed/CHIPDevicePlatformConfig.h
@@ -37,7 +37,7 @@
 #define CHIP_DEVICE_CONFIG_PERSISTED_STORAGE_INFO_EIDC_KEY 4
 #define CHIP_DEVICE_CONFIG_PERSISTED_STORAGE_DEBUG_EIDC_KEY 5
 
-#define CHIP_DEVICE_CONFIG_ENABLE_MDNS 1
+#define CHIP_DEVICE_CONFIG_ENABLE_DNSSD 1
 
 #ifndef CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE
 #define CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE 8192
diff --git a/src/platform/nrfconnect/BUILD.gn b/src/platform/nrfconnect/BUILD.gn
index 7723287..7f6cb03 100644
--- a/src/platform/nrfconnect/BUILD.gn
+++ b/src/platform/nrfconnect/BUILD.gn
@@ -56,8 +56,8 @@
     ]
 
     if (chip_mdns == "platform") {
-      sources += [ "../OpenThread/MdnsImpl.cpp" ]
-      deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+      sources += [ "../OpenThread/DnssdImpl.cpp" ]
+      deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
     }
   }
 
diff --git a/src/platform/nrfconnect/CHIPDevicePlatformConfig.h b/src/platform/nrfconnect/CHIPDevicePlatformConfig.h
index d788fc6..d297c6a 100644
--- a/src/platform/nrfconnect/CHIPDevicePlatformConfig.h
+++ b/src/platform/nrfconnect/CHIPDevicePlatformConfig.h
@@ -78,7 +78,7 @@
 #endif // CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART
 
 #ifdef CONFIG_CHIP_ENABLE_DNSSD_SRP
-#define CHIP_DEVICE_CONFIG_ENABLE_MDNS 1
+#define CHIP_DEVICE_CONFIG_ENABLE_DNSSD 1
 #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT 1
 #define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1
 #define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DISCOVERY 1
diff --git a/src/platform/nxp/k32w/k32w0/BUILD.gn b/src/platform/nxp/k32w/k32w0/BUILD.gn
index 5485f68..aba72e6 100644
--- a/src/platform/nxp/k32w/k32w0/BUILD.gn
+++ b/src/platform/nxp/k32w/k32w0/BUILD.gn
@@ -60,8 +60,8 @@
     ]
 
     if (chip_mdns == "platform") {
-      sources += [ "../../../OpenThread/MdnsImpl.cpp" ]
-      deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+      sources += [ "../../../OpenThread/DnssdImpl.cpp" ]
+      deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
     }
   }
 
diff --git a/src/platform/nxp/k32w/k32w0/CHIPDevicePlatformConfig.h b/src/platform/nxp/k32w/k32w0/CHIPDevicePlatformConfig.h
index f7c7f8b..41e467d 100644
--- a/src/platform/nxp/k32w/k32w0/CHIPDevicePlatformConfig.h
+++ b/src/platform/nxp/k32w/k32w0/CHIPDevicePlatformConfig.h
@@ -99,7 +99,7 @@
 
 #if CHIP_ENABLE_OPENTHREAD
 #define CHIP_DEVICE_CONFIG_ENABLE_THREAD 1
-#define CHIP_DEVICE_CONFIG_ENABLE_MDNS 1
+#define CHIP_DEVICE_CONFIG_ENABLE_DNSSD 1
 #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT 1
 #define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1
 #define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DISCOVERY 1
diff --git a/src/platform/qpg/BUILD.gn b/src/platform/qpg/BUILD.gn
index 1cc7684..a4abfeb 100644
--- a/src/platform/qpg/BUILD.gn
+++ b/src/platform/qpg/BUILD.gn
@@ -71,8 +71,8 @@
     ]
 
     if (chip_mdns == "platform") {
-      sources += [ "../OpenThread/MdnsImpl.cpp" ]
-      deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+      sources += [ "../OpenThread/DnssdImpl.cpp" ]
+      deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
     }
   }
 }
diff --git a/src/platform/qpg/CHIPDevicePlatformConfig.h b/src/platform/qpg/CHIPDevicePlatformConfig.h
index d1339bc..317599c 100644
--- a/src/platform/qpg/CHIPDevicePlatformConfig.h
+++ b/src/platform/qpg/CHIPDevicePlatformConfig.h
@@ -45,7 +45,7 @@
 #define CHIP_DEVICE_CONFIG_PERSISTED_STORAGE_INFO_EIDC_KEY 4
 #define CHIP_DEVICE_CONFIG_PERSISTED_STORAGE_DEBUG_EIDC_KEY 5
 
-#define CHIP_DEVICE_CONFIG_ENABLE_MDNS 1
+#define CHIP_DEVICE_CONFIG_ENABLE_DNSSD 1
 
 // ========== Platform-specific Configuration =========
 
diff --git a/src/platform/telink/BUILD.gn b/src/platform/telink/BUILD.gn
index 6ef5bf7..77e03b1 100644
--- a/src/platform/telink/BUILD.gn
+++ b/src/platform/telink/BUILD.gn
@@ -54,8 +54,8 @@
     ]
 
     if (chip_mdns == "platform") {
-      sources += [ "../OpenThread/MdnsImpl.cpp" ]
-      deps += [ "${chip_root}/src/lib/mdns:platform_header" ]
+      sources += [ "../OpenThread/DnssdImpl.cpp" ]
+      deps += [ "${chip_root}/src/lib/dnssd:platform_header" ]
     }
   }
 
diff --git a/src/platform/tests/BUILD.gn b/src/platform/tests/BUILD.gn
index 7256daf..df64c2c 100644
--- a/src/platform/tests/BUILD.gn
+++ b/src/platform/tests/BUILD.gn
@@ -41,8 +41,8 @@
 
     if (chip_mdns != "none" && chip_enable_happy_tests &&
         (chip_device_platform == "linux" || chip_device_platform == "darwin")) {
-      test_sources += [ "TestMdns.cpp" ]
-      public_deps += [ "${chip_root}/src/lib/mdns" ]
+      test_sources += [ "TestDnssd.cpp" ]
+      public_deps += [ "${chip_root}/src/lib/dnssd" ]
     }
 
     # These tests appear to be broken on Mac.
diff --git a/src/platform/tests/TestMdns.cpp b/src/platform/tests/TestDnssd.cpp
similarity index 77%
rename from src/platform/tests/TestMdns.cpp
rename to src/platform/tests/TestDnssd.cpp
index 9905223..95576cb 100644
--- a/src/platform/tests/TestMdns.cpp
+++ b/src/platform/tests/TestDnssd.cpp
@@ -4,17 +4,17 @@
 
 #include <nlunit-test.h>
 
-#include "lib/mdns/platform/Mdns.h"
+#include "lib/dnssd/platform/Dnssd.h"
 #include "platform/CHIPDeviceLayer.h"
 #include "platform/PlatformManager.h"
 #include <lib/support/CHIPMem.h>
 #include <lib/support/UnitTestRegistration.h>
 
-using chip::Mdns::MdnsService;
-using chip::Mdns::MdnsServiceProtocol;
-using chip::Mdns::TextEntry;
+using chip::Dnssd::DnssdService;
+using chip::Dnssd::DnssdServiceProtocol;
+using chip::Dnssd::TextEntry;
 
-static void HandleResolve(void * context, MdnsService * result, CHIP_ERROR error)
+static void HandleResolve(void * context, DnssdService * result, CHIP_ERROR error)
 {
     char addrBuf[100];
     nlTestSuite * suite = static_cast<nlTestSuite *>(context);
@@ -32,7 +32,7 @@
     exit(0);
 }
 
-static void HandleBrowse(void * context, MdnsService * services, size_t servicesSize, CHIP_ERROR error)
+static void HandleBrowse(void * context, DnssdService * services, size_t servicesSize, CHIP_ERROR error)
 {
     nlTestSuite * suite = static_cast<nlTestSuite *>(context);
 
@@ -42,13 +42,13 @@
         printf("Mdns service size %zu\n", servicesSize);
         printf("Service name %s\n", services->mName);
         printf("Service type %s\n", services->mType);
-        NL_TEST_ASSERT(suite, ChipMdnsResolve(services, INET_NULL_INTERFACEID, HandleResolve, suite) == CHIP_NO_ERROR);
+        NL_TEST_ASSERT(suite, ChipDnssdResolve(services, INET_NULL_INTERFACEID, HandleResolve, suite) == CHIP_NO_ERROR);
     }
 }
 
 static void InitCallback(void * context, CHIP_ERROR error)
 {
-    MdnsService service;
+    DnssdService service;
     TextEntry entry;
     char key[]          = "key";
     char val[]          = "val";
@@ -61,7 +61,7 @@
     strcpy(service.mName, "test");
     strcpy(service.mType, "_mock");
     service.mAddressType   = chip::Inet::kIPAddressType_Any;
-    service.mProtocol      = MdnsServiceProtocol::kMdnsProtocolTcp;
+    service.mProtocol      = DnssdServiceProtocol::kDnssdProtocolTcp;
     entry.mKey             = key;
     entry.mData            = reinterpret_cast<const uint8_t *>(val);
     entry.mDataSize        = strlen(reinterpret_cast<const char *>(entry.mData));
@@ -70,9 +70,9 @@
     service.mSubTypes      = nullptr;
     service.mSubTypeSize   = 0;
 
-    NL_TEST_ASSERT(suite, ChipMdnsPublishService(&service) == CHIP_NO_ERROR);
-    ChipMdnsBrowse("_mock", MdnsServiceProtocol::kMdnsProtocolTcp, chip::Inet::kIPAddressType_Any, INET_NULL_INTERFACEID,
-                   HandleBrowse, suite);
+    NL_TEST_ASSERT(suite, ChipDnssdPublishService(&service) == CHIP_NO_ERROR);
+    ChipDnssdBrowse("_mock", DnssdServiceProtocol::kDnssdProtocolTcp, chip::Inet::kIPAddressType_Any, INET_NULL_INTERFACEID,
+                    HandleBrowse, suite);
 }
 
 static void ErrorCallback(void * context, CHIP_ERROR error)
@@ -84,20 +84,20 @@
     }
 }
 
-void TestMdnsPubSub(nlTestSuite * inSuite, void * inContext)
+void TestDnssdPubSub(nlTestSuite * inSuite, void * inContext)
 {
     chip::Platform::MemoryInit();
     chip::DeviceLayer::PlatformMgr().InitChipStack();
-    NL_TEST_ASSERT(inSuite, chip::Mdns::ChipMdnsInit(InitCallback, ErrorCallback, inSuite) == CHIP_NO_ERROR);
+    NL_TEST_ASSERT(inSuite, chip::Dnssd::ChipDnssdInit(InitCallback, ErrorCallback, inSuite) == CHIP_NO_ERROR);
 
     ChipLogProgress(DeviceLayer, "Start EventLoop");
     chip::DeviceLayer::PlatformMgr().RunEventLoop();
     ChipLogProgress(DeviceLayer, "End EventLoop");
 }
 
-static const nlTest sTests[] = { NL_TEST_DEF("Test Mdns::PubSub", TestMdnsPubSub), NL_TEST_SENTINEL() };
+static const nlTest sTests[] = { NL_TEST_DEF("Test Dnssd::PubSub", TestDnssdPubSub), NL_TEST_SENTINEL() };
 
-int TestMdns()
+int TestDnssd()
 {
     std::mutex mtx;
 
@@ -142,7 +142,7 @@
             // This will stop the event loop above, and wait till it has actually stopped
             // (i.e exited RunEventLoop()).
             //
-            chip::Mdns::ChipMdnsShutdown();
+            chip::Dnssd::ChipDnssdShutdown();
             chip::DeviceLayer::PlatformMgr().StopEventLoopTask();
             chip::DeviceLayer::PlatformMgr().Shutdown();
             shutdown = true;
@@ -159,7 +159,7 @@
 
     if (!shutdown)
     {
-        chip::Mdns::ChipMdnsShutdown();
+        chip::Dnssd::ChipDnssdShutdown();
         chip::DeviceLayer::PlatformMgr().StopEventLoopTask();
         chip::DeviceLayer::PlatformMgr().Shutdown();
     }
@@ -168,4 +168,4 @@
     return retVal;
 }
 
-CHIP_REGISTER_TEST_SUITE(TestMdns);
+CHIP_REGISTER_TEST_SUITE(TestDnssd);
diff --git a/src/protocols/user_directed_commissioning/UDCClientState.h b/src/protocols/user_directed_commissioning/UDCClientState.h
index 19afc8a..c09b568 100644
--- a/src/protocols/user_directed_commissioning/UDCClientState.h
+++ b/src/protocols/user_directed_commissioning/UDCClientState.h
@@ -21,7 +21,7 @@
 
 #pragma once
 
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <transport/raw/Base.h>
 #include <transport/raw/PeerAddress.h>
 
@@ -94,7 +94,7 @@
 
 private:
     PeerAddress mPeerAddress;
-    char mInstanceName[chip::Mdns::kMaxInstanceNameSize + 1];
+    char mInstanceName[chip::Dnssd::kMaxInstanceNameSize + 1];
     UDCClientProcessingState mUDCClientProcessingState;
     uint64_t mExpirationTimeMs = 0;
 };
diff --git a/src/protocols/user_directed_commissioning/UDCClients.h b/src/protocols/user_directed_commissioning/UDCClients.h
index 031b89b..3524ae6 100644
--- a/src/protocols/user_directed_commissioning/UDCClients.h
+++ b/src/protocols/user_directed_commissioning/UDCClients.h
@@ -135,7 +135,7 @@
             }
 
             // TODO: check length of instanceName
-            if (strncmp(stateiter.GetInstanceName(), instanceName, chip::Mdns::kMaxInstanceNameSize + 1) == 0)
+            if (strncmp(stateiter.GetInstanceName(), instanceName, chip::Dnssd::kMaxInstanceNameSize + 1) == 0)
             {
                 state = &stateiter;
                 break;
diff --git a/src/protocols/user_directed_commissioning/UserDirectedCommissioning.h b/src/protocols/user_directed_commissioning/UserDirectedCommissioning.h
index 386523e..f996c94 100644
--- a/src/protocols/user_directed_commissioning/UserDirectedCommissioning.h
+++ b/src/protocols/user_directed_commissioning/UserDirectedCommissioning.h
@@ -27,7 +27,7 @@
 
 #include "UDCClients.h"
 #include <lib/core/CHIPCore.h>
-#include <lib/mdns/Resolver.h>
+#include <lib/dnssd/Resolver.h>
 #include <lib/support/CodeUtils.h>
 #include <lib/support/DLLUtil.h>
 #include <lib/support/logging/CHIPLogging.h>
@@ -82,7 +82,7 @@
      * @param nodeData DNS-SD node information for the client requesting commissioning
      *
      */
-    virtual void OnUserDirectedCommissioningRequest(const Mdns::DiscoveredNodeData & nodeData) = 0;
+    virtual void OnUserDirectedCommissioningRequest(const Dnssd::DiscoveredNodeData & nodeData) = 0;
 
     virtual ~UserConfirmationProvider() = default;
 };
@@ -177,7 +177,7 @@
      *  @param[in]    nodeData        DNS-SD response data.
      *
      */
-    void OnCommissionableNodeFound(const Mdns::DiscoveredNodeData & nodeData);
+    void OnCommissionableNodeFound(const Dnssd::DiscoveredNodeData & nodeData);
 
     /**
      * Get the cache of UDC Clients
diff --git a/src/protocols/user_directed_commissioning/UserDirectedCommissioningServer.cpp b/src/protocols/user_directed_commissioning/UserDirectedCommissioningServer.cpp
index dbe0826..4b26634 100644
--- a/src/protocols/user_directed_commissioning/UserDirectedCommissioningServer.cpp
+++ b/src/protocols/user_directed_commissioning/UserDirectedCommissioningServer.cpp
@@ -47,9 +47,9 @@
     PayloadHeader payloadHeader;
     ReturnOnFailure(payloadHeader.DecodeAndConsume(msg));
 
-    char instanceName[chip::Mdns::kMaxInstanceNameSize + 1];
+    char instanceName[chip::Dnssd::kMaxInstanceNameSize + 1];
     size_t instanceNameLength =
-        (msg->DataLength() > (chip::Mdns::kMaxInstanceNameSize)) ? chip::Mdns::kMaxInstanceNameSize : msg->DataLength();
+        (msg->DataLength() > (chip::Dnssd::kMaxInstanceNameSize)) ? chip::Dnssd::kMaxInstanceNameSize : msg->DataLength();
     msg->Read(Uint8::from_char(instanceName), instanceNameLength);
 
     instanceName[instanceNameLength] = '\0';
@@ -108,7 +108,7 @@
     return;
 }
 
-void UserDirectedCommissioningServer::OnCommissionableNodeFound(const Mdns::DiscoveredNodeData & nodeData)
+void UserDirectedCommissioningServer::OnCommissionableNodeFound(const Dnssd::DiscoveredNodeData & nodeData)
 {
     UDCClientState * client = mUdcClients.FindUDCClientState(nodeData.instanceName);
     if (client != nullptr && client->GetUDCClientProcessingState() == UDCClientProcessingState::kDiscoveringNode)
diff --git a/src/protocols/user_directed_commissioning/tests/TestUdcMessages.cpp b/src/protocols/user_directed_commissioning/tests/TestUdcMessages.cpp
index 22a2f69..f80a173 100644
--- a/src/protocols/user_directed_commissioning/tests/TestUdcMessages.cpp
+++ b/src/protocols/user_directed_commissioning/tests/TestUdcMessages.cpp
@@ -19,7 +19,7 @@
 class DLL_EXPORT TestCallback : public UserConfirmationProvider, public InstanceNameResolver
 {
 public:
-    void OnUserDirectedCommissioningRequest(const Mdns::DiscoveredNodeData & nodeData)
+    void OnUserDirectedCommissioningRequest(const Dnssd::DiscoveredNodeData & nodeData)
     {
         mOnUserDirectedCommissioningRequestCalled = true;
         mNodeData                                 = nodeData;
@@ -32,7 +32,7 @@
     }
 
     // virtual ~UserConfirmationProvider() = default;
-    Mdns::DiscoveredNodeData mNodeData;
+    Dnssd::DiscoveredNodeData mNodeData;
     char * mInstanceName;
 
     bool mOnUserDirectedCommissioningRequestCalled = false;
@@ -66,7 +66,7 @@
     udcServer.SetUDCClientProcessingState((char *) instanceName1, UDCClientProcessingState::kUserDeclined);
 
     // test empty UserConfirmationProvider
-    Mdns::DiscoveredNodeData nodeData;
+    Dnssd::DiscoveredNodeData nodeData;
     strncpy((char *) nodeData.instanceName, instanceName2, sizeof(nodeData.instanceName));
     udcServer.OnCommissionableNodeFound(nodeData);
     strncpy((char *) nodeData.instanceName, instanceName1, sizeof(nodeData.instanceName));
@@ -121,8 +121,8 @@
     udcServer.SetUDCClientProcessingState((char *) instanceName1, UDCClientProcessingState::kUserDeclined);
 
     // encode our client message
-    char nameBuffer[Mdns::kMaxInstanceNameSize + 1] = "Chris";
-    System::PacketBufferHandle payloadBuf           = MessagePacketBuffer::NewWithData(nameBuffer, strlen(nameBuffer));
+    char nameBuffer[Dnssd::kMaxInstanceNameSize + 1] = "Chris";
+    System::PacketBufferHandle payloadBuf            = MessagePacketBuffer::NewWithData(nameBuffer, strlen(nameBuffer));
     udcClient.EncodeUDCMessage(std::move(payloadBuf));
 
     // prepare peerAddress for handleMessage
@@ -170,8 +170,8 @@
 
 void TestUserDirectedCommissioningClientMessage(nlTestSuite * inSuite, void * inContext)
 {
-    char nameBuffer[Mdns::kMaxInstanceNameSize + 1] = "Chris";
-    System::PacketBufferHandle payloadBuf           = MessagePacketBuffer::NewWithData(nameBuffer, strlen(nameBuffer));
+    char nameBuffer[Dnssd::kMaxInstanceNameSize + 1] = "Chris";
+    System::PacketBufferHandle payloadBuf            = MessagePacketBuffer::NewWithData(nameBuffer, strlen(nameBuffer));
     UserDirectedCommissioningClient udcClient;
 
     // obtain the UDC message
@@ -191,9 +191,9 @@
     NL_TEST_ASSERT(inSuite, payloadHeader.IsInitiator());
 
     // check the payload
-    char instanceName[chip::Mdns::kMaxInstanceNameSize + 1];
-    size_t instanceNameLength = (payloadBuf->DataLength() > (chip::Mdns::kMaxInstanceNameSize)) ? chip::Mdns::kMaxInstanceNameSize
-                                                                                                : payloadBuf->DataLength();
+    char instanceName[chip::Dnssd::kMaxInstanceNameSize + 1];
+    size_t instanceNameLength = (payloadBuf->DataLength() > (chip::Dnssd::kMaxInstanceNameSize)) ? chip::Dnssd::kMaxInstanceNameSize
+                                                                                                 : payloadBuf->DataLength();
     payloadBuf->Read(Uint8::from_char(instanceName), instanceNameLength);
     instanceName[instanceNameLength] = '\0';
     ChipLogProgress(Inet, "UDC instance=%s", instanceName);
diff --git a/src/pybindings/pycontroller/BUILD.gn b/src/pybindings/pycontroller/BUILD.gn
index fafbeb9..5416278 100644
--- a/src/pybindings/pycontroller/BUILD.gn
+++ b/src/pybindings/pycontroller/BUILD.gn
@@ -64,7 +64,7 @@
     "${chip_root}/src/controller/data_model",
     "${chip_root}/src/lib",
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns",
+    "${chip_root}/src/lib/dnssd",
     "${chip_root}/src/lib/support",
     "${chip_root}/src/platform",
     "${chip_root}/src/setup_payload",
diff --git a/src/system/SystemLayerImplLibevent.cpp b/src/system/SystemLayerImplLibevent.cpp
index 8c690d6..bebd138 100644
--- a/src/system/SystemLayerImplLibevent.cpp
+++ b/src/system/SystemLayerImplLibevent.cpp
@@ -72,10 +72,10 @@
     mEventBase   = event_base_new();
     VerifyOrReturnError(mEventBase != nullptr, CHIP_ERROR_NO_MEMORY);
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
     mMdnsTimeoutEvent = evtimer_new(mEventBase, MdnsTimeoutCallbackHandler, this);
     VerifyOrReturnError(mMdnsTimeoutEvent != nullptr, CHIP_ERROR_NO_MEMORY);
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
 
 #if CHIP_SYSTEM_CONFIG_POSIX_LOCKING
     mHandleSelectThread = PTHREAD_NULL;
@@ -87,7 +87,7 @@
     return CHIP_NO_ERROR;
 }
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
 
 // static
 void LayerImplLibevent::MdnsTimeoutCallbackHandler(evutil_socket_t fd, short eventFlags, void * data)
@@ -101,13 +101,13 @@
     mHandleSelectThread = pthread_self();
 #endif // CHIP_SYSTEM_CONFIG_POSIX_LOCKING
 
-    chip::Mdns::HandleMdnsTimeout();
+    chip::Dnssd::HandleMdnsTimeout();
 
 #if CHIP_SYSTEM_CONFIG_POSIX_LOCKING
     mHandleSelectThread = PTHREAD_NULL;
 #endif // CHIP_SYSTEM_CONFIG_POSIX_LOCKING
 }
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
 
 CHIP_ERROR LayerImplLibevent::Shutdown()
 {
@@ -115,13 +115,13 @@
 
     event_base_loopbreak(mEventBase);
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
     if (mMdnsTimeoutEvent != nullptr)
     {
         event_free(mMdnsTimeoutEvent);
         mMdnsTimeoutEvent = nullptr;
     }
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
 
     mTimerListMutex.Lock();
     mTimers.clear();
@@ -386,14 +386,14 @@
 
 void LayerImplLibevent::PrepareEvents()
 {
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__ && !__MBED__
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__ && !__MBED__
     timeval mdnsTimeout = { 0, 0 };
-    chip::Mdns::GetMdnsTimeout(mdnsTimeout);
+    chip::Dnssd::GetMdnsTimeout(mdnsTimeout);
     if (mdnsTimeout.tv_sec || mdnsTimeout.tv_usec)
     {
         evtimer_add(mMdnsTimeoutEvent, &mdnsTimeout);
     }
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
 }
 
 void LayerImplLibevent::WaitForEvents()
diff --git a/src/system/SystemLayerImplLibevent.h b/src/system/SystemLayerImplLibevent.h
index 1c74169..7b53471 100644
--- a/src/system/SystemLayerImplLibevent.h
+++ b/src/system/SystemLayerImplLibevent.h
@@ -125,10 +125,10 @@
     std::atomic<pthread_t> mHandleSelectThread;
 #endif // CHIP_SYSTEM_CONFIG_POSIX_LOCKING
 
-#if CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
     static void MdnsTimeoutCallbackHandler(evutil_socket_t fd, short eventFlags, void * data);
     void MdnsTimeoutCallbackHandler();
-#endif // CHIP_DEVICE_CONFIG_ENABLE_MDNS && !__ZEPHYR__
+#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !__ZEPHYR__
     event * mMdnsTimeoutEvent;
 };
 
diff --git a/src/transport/BUILD.gn b/src/transport/BUILD.gn
index a9c559a..f7fd12c 100644
--- a/src/transport/BUILD.gn
+++ b/src/transport/BUILD.gn
@@ -47,7 +47,7 @@
     "${chip_root}/src/crypto",
     "${chip_root}/src/inet",
     "${chip_root}/src/lib/core",
-    "${chip_root}/src/lib/mdns",
+    "${chip_root}/src/lib/dnssd",
     "${chip_root}/src/lib/support",
     "${chip_root}/src/platform",
     "${chip_root}/src/setup_payload",