From 23eaa9d3f2ba7e1b870d5ae3179b9bb3cfc5f4e2 Mon Sep 17 00:00:00 2001 From: S-Parthiban-Selvaraj Date: Wed, 15 Jul 2026 13:39:11 +0100 Subject: [PATCH] RDKB-66057: Ensure IPv6 address readiness before restarting management services after lease change --- source/WanManager/wanmgr_interface_sm.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/WanManager/wanmgr_interface_sm.c b/source/WanManager/wanmgr_interface_sm.c index 04ca3162..a9ef8766 100644 --- a/source/WanManager/wanmgr_interface_sm.c +++ b/source/WanManager/wanmgr_interface_sm.c @@ -1720,6 +1720,17 @@ static int wan_setUpIPv6(WanMgr_IfaceSM_Controller_t * pWanIfaceCtrl) #endif } + /* Wait for the newly assigned WAN IPv6 address to complete Duplicate Address + * Detection (i.e. no longer "tentative") before restarting management services. + * On a lease change the address is flushed and re-added, which restarts DAD; + * restarting sshd/dropbear while the address is still tentative makes the bind + * fail with "Cannot assign requested address", leaving reverse SSH IPv4-only. */ + if (checkIpv6AddressIsReadyToUse(p_VirtIf) != RETURN_OK) + { + CcspTraceError(("%s %d - IPv6 address not ready (DAD/route) on %s before restarting services\n", + __FUNCTION__, __LINE__, p_VirtIf->Name)); + } + /* Restart WAN management services (sshd etc.) so that reverse SSH and other management services (re)bind to the WAN IPv6 address. * Runs on both first-time bring-up and on a lease/address change. */ wanmgr_services_restart();