From 93f3ee5e684370e4494c02d7c951dd0b00151d46 Mon Sep 17 00:00:00 2001 From: zwx Date: Thu, 3 Sep 2026 18:05:25 +0800 Subject: [PATCH] fix(openthread): preserve host interface on UDP receive --- components/openthread/src/port/esp_openthread_udp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/openthread/src/port/esp_openthread_udp.c b/components/openthread/src/port/esp_openthread_udp.c index c32c6518ff5..1936dc5fe95 100644 --- a/components/openthread/src/port/esp_openthread_udp.c +++ b/components/openthread/src/port/esp_openthread_udp.c @@ -101,7 +101,7 @@ static void udp_recv_task(void *ctx) { udp_recv_task_t *task = (udp_recv_task_t *)ctx; - otMessageInfo message_info; + otMessageInfo message_info = {0}; otMessage *message = NULL; otMessageSettings msg_settings = { .mLinkSecurityEnabled = false, .mPriority = OT_MESSAGE_PRIORITY_NORMAL }; struct pbuf *recv_buf = task->recv_buf; @@ -112,6 +112,7 @@ static void udp_recv_task(void *ctx) memset(&message_info.mSockAddr, 0, sizeof(message_info.mSockAddr)); message_info.mHopLimit = task->hop_limit; message_info.mPeerPort = task->port; + message_info.mIsHostInterface = task->is_host_interface; #if CONFIG_LWIP_IPV4 if (task->addr.type == IPADDR_TYPE_V4) { ip4_2_ipv4_mapped_ipv6(ip_2_ip6(&task->addr), ip_2_ip4(&task->addr));