eclipse-threadx / netxduo

Eclipse ThreadX - NetXDuo is an advanced, industrial-grade TCP/IP network stack designed specifically for deeply embedded real-time and IoT applications
https://github.com/eclipse-threadx/rtos-docs/blob/main/rtos-docs/netx-duo/index.md
MIT License
247 stars 138 forks source link

Azure RTOS NetxDuo mDNS domain set issue #281

Open faharintisar opened 3 months ago

faharintisar commented 3 months ago

My issue is related to:-

MCU: STM32H733

Middleware: Azure RTOS

Middleware Component: NetxDuo (6.2.0)

Addon: mDNS

I am using Azure RTOS with NetxDuo, I implemented a secure https server in my device and implemented mDNS which was working very well for me till I required to change domain. I want to add a sub-domain like (myhostname.mysubdomain.local). In documentation it is stated that by default the domain is .local but can be changed using following API

image

Now, I have implemented this API in my code like this:


status =
nx_mdns_create(&mdns_instance, &ip_instance, &netxduo_packet_pool, MDNS_PRIORITY, mdns_thread_stack,
sizeof(mdns_thread_stack), (UCHAR *)hostname, (VOID *)local_service_cache,
sizeof(local_service_cache), (VOID *)peer_service_cache, sizeof(peer_service_cache), NX_NULL);

if (status != NX_SUCCESS)
{
Error_Handler();
}

status = nx_mdns_domain_name_set(&mdns_instance, "home");

status = nx_mdns_enable(&mdns_instance, PRIMARY_INTERFACE);

It returns success and according to the document I must be able to ping hostname.home but thats not the case not matter what I done it will be always accessible through hostname.local

I checked the domain name buffer inside mdns_instance, its updated to home but even then changed domain is not accessible.

Tried on Linux (avahi resolve) and Windows,, same results Tried clearing dns cache's, same result

Goal: To be able to add subdomain

Bigger Picture: I want to use wild card while generating certificate and keys in alt name and CN so that same certificate can be used in many devices thats why I need subdomain as it allows wild card in .example.local not in .local