From 6bfa2b7078e54327280dbbdaf8adb0228921089b Mon Sep 17 00:00:00 2001 From: Xu Si Yu Date: Mon, 10 Apr 2023 17:02:38 +0800 Subject: [PATCH] openthread port: set ipv6 address zone with netif index when udp joining or leaving group --- components/openthread/port/esp_openthread_udp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/openthread/port/esp_openthread_udp.c b/components/openthread/port/esp_openthread_udp.c index 325d22b48e..873282d7ab 100644 --- a/components/openthread/port/esp_openthread_udp.c +++ b/components/openthread/port/esp_openthread_udp.c @@ -425,9 +425,10 @@ otError otPlatUdpJoinMulticastGroup(otUdpSocket *socket, otNetifIdentifier netif otError error = OT_ERROR_NONE; VerifyOrExit(task != NULL, error = OT_ERROR_NO_BUFS); - memcpy(task->addr.addr, addr->mFields.m8, sizeof(task->addr.addr)); task->is_join = true; task->netif_index = get_netif_index(netif_id); + task->addr.zone = task->netif_index; + memcpy(task->addr.addr, addr->mFields.m8, sizeof(task->addr.addr)); tcpip_callback(udp_multicast_join_leave_task, task); exit: @@ -441,9 +442,10 @@ otError otPlatUdpLeaveMulticastGroup(otUdpSocket *socket, otNetifIdentifier neti otError error = OT_ERROR_NONE; VerifyOrExit(task != NULL, error = OT_ERROR_NO_BUFS); - memcpy(task->addr.addr, addr->mFields.m8, sizeof(task->addr.addr)); task->is_join = false; task->netif_index = get_netif_index(netif_id); + task->addr.zone = task->netif_index; + memcpy(task->addr.addr, addr->mFields.m8, sizeof(task->addr.addr)); tcpip_callback(udp_multicast_join_leave_task, task); exit: