From bc8e3e31a92f4493504c3e7cb332dc4496c58e3a Mon Sep 17 00:00:00 2001 From: rongli Date: Mon, 3 Jun 2019 23:26:28 +0800 Subject: [PATCH] [dhcp] fix solicit request issue (#3887) --- src/core/net/dhcp6_client.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/net/dhcp6_client.cpp b/src/core/net/dhcp6_client.cpp index 448a599ae..a3b3f05c0 100644 --- a/src/core/net/dhcp6_client.cpp +++ b/src/core/net/dhcp6_client.cpp @@ -345,7 +345,8 @@ otError Dhcp6Client::AppendIaNa(Message &aMessage, uint16_t aRloc16) for (uint8_t i = 0; i < OT_ARRAY_LENGTH(mIdentityAssociations); ++i) { - if (mIdentityAssociations[i].mStatus == kIaStatusSolicitReplied) + if (mIdentityAssociations[i].mStatus == kIaStatusInvalid || + mIdentityAssociations[i].mStatus == kIaStatusSolicitReplied) { continue; } @@ -381,7 +382,8 @@ otError Dhcp6Client::AppendIaAddress(Message &aMessage, uint16_t aRloc16) for (uint8_t i = 0; i < OT_ARRAY_LENGTH(mIdentityAssociations); ++i) { - if ((mIdentityAssociations[i].mStatus != kIaStatusSolicitReplied) && + if ((mIdentityAssociations[i].mStatus == kIaStatusSolicit || + mIdentityAssociations[i].mStatus == kIaStatusSoliciting) && (mIdentityAssociations[i].mPrefixAgentRloc == aRloc16)) { option.SetAddress(mIdentityAssociations[i].mNetifAddress.mAddress);