@@ -25,7 +25,7 @@ static esp_err_t _mdns_sync_browse_action(mdns_action_type_t type, mdns_browse_s
25
25
static void _mdns_browse_sync (mdns_browse_sync_t * browse_sync );
26
26
static void _mdns_browse_finish (mdns_browse_t * browse );
27
27
static void _mdns_browse_add (mdns_browse_t * browse );
28
- static void _mdns_browse_send (mdns_browse_t * browse );
28
+ static void _mdns_browse_send (mdns_browse_t * browse , mdns_if_t interface );
29
29
30
30
#if CONFIG_ETH_ENABLED && CONFIG_MDNS_PREDEF_NETIF_ETH
31
31
#include "esp_eth.h"
@@ -4476,7 +4476,11 @@ void mdns_preset_if_handle_system_event(void *arg, esp_event_base_t event_base,
4476
4476
post_mdns_enable_pcb (mdns_if , MDNS_IP_PROTOCOL_V6 );
4477
4477
post_mdns_announce_pcb (mdns_if , MDNS_IP_PROTOCOL_V4 );
4478
4478
}
4479
-
4479
+ mdns_browse_t * browse = _mdns_server -> browse ;
4480
+ while (browse ) {
4481
+ _mdns_browse_send (browse , mdns_if );
4482
+ browse = browse -> next ;
4483
+ }
4480
4484
}
4481
4485
break ;
4482
4486
default :
@@ -7119,7 +7123,9 @@ static void _mdns_browse_add(mdns_browse_t *browse)
7119
7123
browse -> next = _mdns_server -> browse ;
7120
7124
_mdns_server -> browse = browse ;
7121
7125
}
7122
- _mdns_browse_send (browse );
7126
+ for (uint8_t interface_idx = 0 ; interface_idx < MDNS_MAX_INTERFACES ; interface_idx ++ ) {
7127
+ _mdns_browse_send (browse , (mdns_if_t )interface_idx );
7128
+ }
7123
7129
if (found ) {
7124
7130
_mdns_browse_item_free (browse );
7125
7131
}
@@ -7128,7 +7134,7 @@ static void _mdns_browse_add(mdns_browse_t *browse)
7128
7134
/**
7129
7135
* @brief Send PTR query packet to all available interfaces for browsing.
7130
7136
*/
7131
- static void _mdns_browse_send (mdns_browse_t * browse )
7137
+ static void _mdns_browse_send (mdns_browse_t * browse , mdns_if_t interface )
7132
7138
{
7133
7139
// Using search once for sending the PTR query
7134
7140
mdns_search_once_t search = {0 };
@@ -7141,11 +7147,8 @@ static void _mdns_browse_send(mdns_browse_t *browse)
7141
7147
search .result = NULL ;
7142
7148
search .next = NULL ;
7143
7149
7144
- uint8_t i , j ;
7145
- for (i = 0 ; i < MDNS_MAX_INTERFACES ; i ++ ) {
7146
- for (j = 0 ; j < MDNS_IP_PROTOCOL_MAX ; j ++ ) {
7147
- _mdns_search_send_pcb (& search , (mdns_if_t )i , (mdns_ip_protocol_t )j );
7148
- }
7150
+ for (uint8_t protocol_idx = 0 ; protocol_idx < MDNS_IP_PROTOCOL_MAX ; protocol_idx ++ ) {
7151
+ _mdns_search_send_pcb (& search , interface , (mdns_ip_protocol_t )protocol_idx );
7149
7152
}
7150
7153
}
7151
7154
0 commit comments