[dhcp6-client] update DHCPv6 service RLOC on new network data (#5169)
diff --git a/src/core/net/dhcp6_client.cpp b/src/core/net/dhcp6_client.cpp
index 33dc658..45841fa 100644
--- a/src/core/net/dhcp6_client.cpp
+++ b/src/core/net/dhcp6_client.cpp
@@ -137,6 +137,7 @@
             else if (MatchNetifAddressWithPrefix(mIdentityAssociations[i].mNetifAddress, config.mPrefix))
             {
                 found = true;
+                ia    = &mIdentityAssociations[i];
                 break;
             }
         }
@@ -145,7 +146,6 @@
         {
             if (ia != nullptr)
             {
-                ia->mPrefixAgentRloc            = config.mRloc16;
                 ia->mNetifAddress.mAddress      = config.mPrefix.mPrefix;
                 ia->mNetifAddress.mPrefixLength = config.mPrefix.mLength;
                 ia->mStatus                     = kIaStatusSolicit;
@@ -157,6 +157,8 @@
                 continue;
             }
         }
+
+        ia->mPrefixAgentRloc = config.mRloc16;
     }
 
     if (doesAgentExist)