@@ -25,7 +25,7 @@ static esp_err_t _mdns_sync_browse_action(mdns_action_type_t type, mdns_browse_s
2525static void _mdns_browse_sync (mdns_browse_sync_t * browse_sync );
2626static void _mdns_browse_finish (mdns_browse_t * browse );
2727static 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 );
2929
3030#if CONFIG_ETH_ENABLED && CONFIG_MDNS_PREDEF_NETIF_ETH
3131#include "esp_eth.h"
@@ -4476,7 +4476,11 @@ void mdns_preset_if_handle_system_event(void *arg, esp_event_base_t event_base,
44764476 post_mdns_enable_pcb (mdns_if , MDNS_IP_PROTOCOL_V6 );
44774477 post_mdns_announce_pcb (mdns_if , MDNS_IP_PROTOCOL_V4 );
44784478 }
4479-
4479+ mdns_browse_t * browse = _mdns_server -> browse ;
4480+ while (browse ) {
4481+ _mdns_browse_send (browse , mdns_if );
4482+ browse = browse -> next ;
4483+ }
44804484 }
44814485 break ;
44824486 default :
@@ -7119,7 +7123,9 @@ static void _mdns_browse_add(mdns_browse_t *browse)
71197123 browse -> next = _mdns_server -> browse ;
71207124 _mdns_server -> browse = browse ;
71217125 }
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+ }
71237129 if (found ) {
71247130 _mdns_browse_item_free (browse );
71257131 }
@@ -7128,7 +7134,7 @@ static void _mdns_browse_add(mdns_browse_t *browse)
71287134/**
71297135 * @brief Send PTR query packet to all available interfaces for browsing.
71307136 */
7131- static void _mdns_browse_send (mdns_browse_t * browse )
7137+ static void _mdns_browse_send (mdns_browse_t * browse , mdns_if_t interface )
71327138{
71337139 // Using search once for sending the PTR query
71347140 mdns_search_once_t search = {0 };
@@ -7141,11 +7147,8 @@ static void _mdns_browse_send(mdns_browse_t *browse)
71417147 search .result = NULL ;
71427148 search .next = NULL ;
71437149
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 );
71497152 }
71507153}
71517154
0 commit comments