mdns: Make reverse query conditional per Kconfig

and auto-register reverse logical names
This commit is contained in:
David Cermak
2023-01-16 23:13:11 +01:00
parent fb8a2f0198
commit 91134f10ff
12 changed files with 160 additions and 125 deletions

View File

@ -1,3 +1,2 @@
idf_component_register(SRCS esp_event_mock.c
INCLUDE_DIRS include
REQUIRES)
INCLUDE_DIRS include)

View File

@ -8,12 +8,7 @@
#include "stdbool.h"
#include "esp_err.h"
#include "esp_event_base.h"
//#include "bsd_strings.h"
//const char *WIFI_EVENT;
//const char *IP_EVENT;
#include "bsd/string.h"
esp_err_t esp_event_handler_register(const char *event_base, int32_t event_id, void *event_handler, void *event_handler_arg);

View File

@ -1,6 +1,5 @@
idf_component_register(SRCS freertos_linux.c queue_unique_ptr.cpp
INCLUDE_DIRS include
REQUIRES)
INCLUDE_DIRS include)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)

View File

@ -158,16 +158,6 @@ void xTaskCreate(TaskFunction_t pvTaskCode, const char *const pcName, const uint
}
}
//uint32_t esp_get_free_heap_size(void)
//{
// return 0;
//}
//
//uint32_t esp_random(void)
//{
// return rand();
//}
void xTaskNotifyGive(TaskHandle_t task)
{

View File

@ -39,31 +39,26 @@ int main(int argc, char *argv[])
esp_netif_config_t cfg = { .base = &base_cg };
esp_netif_t *sta = esp_netif_new(&cfg);
ESP_ERROR_CHECK(mdns_init());
ESP_ERROR_CHECK(mdns_register_netif(sta));
ESP_ERROR_CHECK(mdns_netif_action(sta, MDNS_EVENT_ENABLE_IP4));
mdns_hostname_set(CONFIG_TEST_HOSTNAME);
ESP_ERROR_CHECK(mdns_hostname_set(CONFIG_TEST_HOSTNAME));
ESP_LOGI(TAG, "mdns hostname set to: [%s]", CONFIG_TEST_HOSTNAME);
mdns_ip_addr_t addr4 = { .addr.u_addr.ip4.addr = 0x1020304 };
addr4.addr.type = ESP_IPADDR_TYPE_V4;
const char *delegated_hostname = "200.0.168.192.in-addr";
addr4.addr.type = ESP_IPADDR_TYPE_V4;
ESP_ERROR_CHECK( mdns_delegate_hostname_add(delegated_hostname, &addr4) );
ESP_ERROR_CHECK(mdns_register_netif(sta));
ESP_ERROR_CHECK(mdns_netif_action(sta, MDNS_EVENT_ENABLE_IP4 | MDNS_EVENT_IP4_REVERSE_LOOKUP));
#ifdef REGISTER_SERVICE
//set default mDNS instance name
//mdns_instance_name_set("myesp-inst");
mdns_instance_name_set("myesp-inst");
//structure with TXT records
// mdns_txt_item_t serviceTxtData[3] = {
// {"board", "esp32"},
// {"u", "user"},
// {"p", "password"}
// };
// vTaskDelay(pdMS_TO_TICKS(1000));
mdns_txt_item_t serviceTxtData[3] = {
{"board", "esp32"},
{"u", "user"},
{"p", "password"}
};
vTaskDelay(pdMS_TO_TICKS(10000));
ESP_ERROR_CHECK(mdns_service_add("myesp-service2", "_http", "_tcp", 80, serviceTxtData, 3));
#endif
vTaskDelay(pdMS_TO_TICKS(10000));
// ESP_ERROR_CHECK(mdns_service_add("myesp-service2", "_http", "_tcp", 80, serviceTxtData, 3));
// vTaskDelay(2000);
query_mdns_host("david-work");
vTaskDelay(2000);
vTaskDelay(pdMS_TO_TICKS(1000));
esp_netif_destroy(sta);
mdns_free();
ESP_LOGI(TAG, "Exit");

View File

@ -1,5 +0,0 @@
sudo ip link add eth2 type dummy
sudo ip addr add 192.168.1.200/24 dev eth2
sudo ip addr add 192.168.1.201/24 dev eth2
sudo ip link set eth2 up
sudo ifconfig eth2 multicast

View File

@ -3,5 +3,7 @@ CONFIG_MDNS_NETWORKING_SOCKET=y
CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES=y
CONFIG_TEST_NETIF_NAME="eth0"
CONFIG_TEST_HOSTNAME="myesp"
# CONFIG_MDNS_PREDEF_NETIF_STA is not set
# CONFIG_MDNS_PREDEF_NETIF_AP is not set
CONFIG_MDNS_PREDEF_NETIF_STA=n
CONFIG_MDNS_PREDEF_NETIF_AP=n
CONFIG_MDNS_ENABLE_DEBUG_PRINTS=y
CONFIG_MDNS_RESPOND_REVERSE_QUERIES=y