mirror of
https://github.com/espressif/openthread.git
synced 2026-07-27 14:27:47 +00:00
[mle] remove secure data request mode bit (#5560)
- Always set to 1 on transmission. - Always ignore on reception.
This commit is contained in:
@@ -227,7 +227,7 @@ jobs:
|
||||
COVERAGE: 1
|
||||
MULTIPLY: 3
|
||||
PYTHONUNBUFFERED: 1
|
||||
OTBR_COMMIT: "d1671cfa4777d3a1bb565b88856f1ef446fe760f" # Sep 22, 2020
|
||||
OTBR_COMMIT: "e05ad0ea47461bc7aa48858cf7e1d7a9c9044fed" # Sep 29, 2020
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build OTBR Docker
|
||||
|
||||
@@ -88,7 +88,7 @@ jobs:
|
||||
./bootstrap
|
||||
- name: Run OTNS Tests
|
||||
env:
|
||||
OTNS_COMMIT: "8e9b4ba5825dd37e6e84f7801dd72101fde3d191" # Sep 17, 2020
|
||||
OTNS_COMMIT: "632503d7ccbadcbdc49c6245eafc2425c80bbf04" # Sep 29, 2020
|
||||
run: |
|
||||
export OT_DIR=$PWD
|
||||
mkdir -p /tmp/otns
|
||||
|
||||
@@ -103,10 +103,9 @@ int main(int argc, char *argv[])
|
||||
setNetworkConfiguration(instance);
|
||||
otSetStateChangedCallback(instance, handleNetifStateChanged, instance);
|
||||
|
||||
config.mRxOnWhenIdle = true;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
config.mRxOnWhenIdle = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
|
||||
initUdp();
|
||||
@@ -207,10 +206,9 @@ void handleNetifStateChanged(uint32_t aFlags, void *aContext)
|
||||
break;
|
||||
|
||||
case OT_DEVICE_ROLE_CHILD:
|
||||
config.mRxOnWhenIdle = 0;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
config.mRxOnWhenIdle = 0;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
sAllowDeepSleep = true;
|
||||
break;
|
||||
@@ -308,12 +306,11 @@ void applicationTick(void)
|
||||
|
||||
if (sRxOnIdleButtonPressed == true)
|
||||
{
|
||||
sRxOnIdleButtonPressed = false;
|
||||
sAllowDeepSleep = !sAllowDeepSleep;
|
||||
config.mRxOnWhenIdle = !sAllowDeepSleep;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
sRxOnIdleButtonPressed = false;
|
||||
sAllowDeepSleep = !sAllowDeepSleep;
|
||||
config.mRxOnWhenIdle = !sAllowDeepSleep;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
}
|
||||
|
||||
|
||||
@@ -103,10 +103,9 @@ int main(int argc, char *argv[])
|
||||
setNetworkConfiguration(instance);
|
||||
otSetStateChangedCallback(instance, handleNetifStateChanged, instance);
|
||||
|
||||
config.mRxOnWhenIdle = true;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
config.mRxOnWhenIdle = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
|
||||
initUdp();
|
||||
@@ -207,10 +206,9 @@ void handleNetifStateChanged(uint32_t aFlags, void *aContext)
|
||||
break;
|
||||
|
||||
case OT_DEVICE_ROLE_CHILD:
|
||||
config.mRxOnWhenIdle = 0;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
config.mRxOnWhenIdle = 0;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
sAllowDeepSleep = true;
|
||||
break;
|
||||
@@ -308,12 +306,11 @@ void applicationTick(void)
|
||||
|
||||
if (sRxOnIdleButtonPressed == true)
|
||||
{
|
||||
sRxOnIdleButtonPressed = false;
|
||||
sAllowDeepSleep = !sAllowDeepSleep;
|
||||
config.mRxOnWhenIdle = !sAllowDeepSleep;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
sRxOnIdleButtonPressed = false;
|
||||
sAllowDeepSleep = !sAllowDeepSleep;
|
||||
config.mRxOnWhenIdle = !sAllowDeepSleep;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,10 +105,9 @@ int main(int argc, char *argv[])
|
||||
setNetworkConfiguration(instance);
|
||||
otSetStateChangedCallback(instance, handleNetifStateChanged, instance);
|
||||
|
||||
config.mRxOnWhenIdle = true;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
config.mRxOnWhenIdle = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
|
||||
initUdp();
|
||||
@@ -225,10 +224,9 @@ void handleNetifStateChanged(uint32_t aFlags, void *aContext)
|
||||
break;
|
||||
|
||||
case OT_DEVICE_ROLE_CHILD:
|
||||
config.mRxOnWhenIdle = 0;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
config.mRxOnWhenIdle = 0;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
sAllowDeepSleep = true;
|
||||
break;
|
||||
@@ -326,12 +324,11 @@ void applicationTick(void)
|
||||
|
||||
if (sRxOnIdleButtonPressed == true)
|
||||
{
|
||||
sRxOnIdleButtonPressed = false;
|
||||
sAllowDeepSleep = !sAllowDeepSleep;
|
||||
config.mRxOnWhenIdle = !sAllowDeepSleep;
|
||||
config.mSecureDataRequests = true;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
sRxOnIdleButtonPressed = false;
|
||||
sAllowDeepSleep = !sAllowDeepSleep;
|
||||
config.mRxOnWhenIdle = !sAllowDeepSleep;
|
||||
config.mDeviceType = 0;
|
||||
config.mNetworkData = 0;
|
||||
otThreadSetLinkMode(instance, config);
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ extern "C" {
|
||||
* @note This number versions both OpenThread platform and user APIs.
|
||||
*
|
||||
*/
|
||||
#define OPENTHREAD_API_VERSION (29)
|
||||
#define OPENTHREAD_API_VERSION (30)
|
||||
|
||||
/**
|
||||
* @addtogroup api-instance
|
||||
|
||||
+17
-19
@@ -78,10 +78,9 @@ typedef enum
|
||||
*/
|
||||
typedef struct otLinkModeConfig
|
||||
{
|
||||
bool mRxOnWhenIdle : 1; ///< 1, if the sender has its receiver on when not transmitting. 0, otherwise.
|
||||
bool mSecureDataRequests : 1; ///< 1, if the sender uses IEEE 802.15.4 to secure all data requests. 0, otherwise.
|
||||
bool mDeviceType : 1; ///< 1, if the sender is an FTD. 0, otherwise.
|
||||
bool mNetworkData : 1; ///< 1, if the sender requires the full Network Data. 0, otherwise.
|
||||
bool mRxOnWhenIdle : 1; ///< 1, if the sender has its receiver on when not transmitting. 0, otherwise.
|
||||
bool mDeviceType : 1; ///< 1, if the sender is an FTD. 0, otherwise.
|
||||
bool mNetworkData : 1; ///< 1, if the sender requires the full Network Data. 0, otherwise.
|
||||
} otLinkModeConfig;
|
||||
|
||||
/**
|
||||
@@ -90,21 +89,20 @@ typedef struct otLinkModeConfig
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
otExtAddress mExtAddress; ///< IEEE 802.15.4 Extended Address
|
||||
uint32_t mAge; ///< Time last heard
|
||||
uint16_t mRloc16; ///< RLOC16
|
||||
uint32_t mLinkFrameCounter; ///< Link Frame Counter
|
||||
uint32_t mMleFrameCounter; ///< MLE Frame Counter
|
||||
uint8_t mLinkQualityIn; ///< Link Quality In
|
||||
int8_t mAverageRssi; ///< Average RSSI
|
||||
int8_t mLastRssi; ///< Last observed RSSI
|
||||
uint16_t mFrameErrorRate; ///< Frame error rate (0xffff->100%). Requires error tracking feature.
|
||||
uint16_t mMessageErrorRate; ///< (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
|
||||
bool mRxOnWhenIdle : 1; ///< rx-on-when-idle
|
||||
bool mSecureDataRequest : 1; ///< Secure Data Requests
|
||||
bool mFullThreadDevice : 1; ///< Full Thread Device
|
||||
bool mFullNetworkData : 1; ///< Full Network Data
|
||||
bool mIsChild : 1; ///< Is the neighbor a child
|
||||
otExtAddress mExtAddress; ///< IEEE 802.15.4 Extended Address
|
||||
uint32_t mAge; ///< Time last heard
|
||||
uint16_t mRloc16; ///< RLOC16
|
||||
uint32_t mLinkFrameCounter; ///< Link Frame Counter
|
||||
uint32_t mMleFrameCounter; ///< MLE Frame Counter
|
||||
uint8_t mLinkQualityIn; ///< Link Quality In
|
||||
int8_t mAverageRssi; ///< Average RSSI
|
||||
int8_t mLastRssi; ///< Last observed RSSI
|
||||
uint16_t mFrameErrorRate; ///< Frame error rate (0xffff->100%). Requires error tracking feature.
|
||||
uint16_t mMessageErrorRate; ///< (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
|
||||
bool mRxOnWhenIdle : 1; ///< rx-on-when-idle
|
||||
bool mFullThreadDevice : 1; ///< Full Thread Device
|
||||
bool mFullNetworkData : 1; ///< Full Network Data
|
||||
bool mIsChild : 1; ///< Is the neighbor a child
|
||||
} otNeighborInfo;
|
||||
|
||||
#define OT_NEIGHBOR_INFO_ITERATOR_INIT 0 ///< Initializer for otNeighborInfoIterator.
|
||||
|
||||
@@ -56,22 +56,21 @@ extern "C" {
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
otExtAddress mExtAddress; ///< IEEE 802.15.4 Extended Address
|
||||
uint32_t mTimeout; ///< Timeout
|
||||
uint32_t mAge; ///< Time last heard
|
||||
uint16_t mRloc16; ///< RLOC16
|
||||
uint16_t mChildId; ///< Child ID
|
||||
uint8_t mNetworkDataVersion; ///< Network Data Version
|
||||
uint8_t mLinkQualityIn; ///< Link Quality In
|
||||
int8_t mAverageRssi; ///< Average RSSI
|
||||
int8_t mLastRssi; ///< Last observed RSSI
|
||||
uint16_t mFrameErrorRate; ///< Frame error rate (0xffff->100%). Requires error tracking feature.
|
||||
uint16_t mMessageErrorRate; ///< (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
|
||||
bool mRxOnWhenIdle : 1; ///< rx-on-when-idle
|
||||
bool mSecureDataRequest : 1; ///< Secure Data Requests
|
||||
bool mFullThreadDevice : 1; ///< Full Thread Device
|
||||
bool mFullNetworkData : 1; ///< Full Network Data
|
||||
bool mIsStateRestoring : 1; ///< Is in restoring state
|
||||
otExtAddress mExtAddress; ///< IEEE 802.15.4 Extended Address
|
||||
uint32_t mTimeout; ///< Timeout
|
||||
uint32_t mAge; ///< Time last heard
|
||||
uint16_t mRloc16; ///< RLOC16
|
||||
uint16_t mChildId; ///< Child ID
|
||||
uint8_t mNetworkDataVersion; ///< Network Data Version
|
||||
uint8_t mLinkQualityIn; ///< Link Quality In
|
||||
int8_t mAverageRssi; ///< Average RSSI
|
||||
int8_t mLastRssi; ///< Last observed RSSI
|
||||
uint16_t mFrameErrorRate; ///< Frame error rate (0xffff->100%). Requires error tracking feature.
|
||||
uint16_t mMessageErrorRate; ///< (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
|
||||
bool mRxOnWhenIdle : 1; ///< rx-on-when-idle
|
||||
bool mFullThreadDevice : 1; ///< Full Thread Device
|
||||
bool mFullNetworkData : 1; ///< Full Network Data
|
||||
bool mIsStateRestoring : 1; ///< Is in restoring state
|
||||
} otChildInfo;
|
||||
|
||||
#define OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0 ///< Initializer for otChildIP6AddressIterator
|
||||
|
||||
+10
-5
@@ -1185,28 +1185,33 @@ Done
|
||||
|
||||
Get the Thread Device Mode value.
|
||||
|
||||
- -: no flags set (rx-off-when-idle, minimal Thread device, stable network data)
|
||||
- r: rx-on-when-idle
|
||||
- s: Secure IEEE 802.15.4 data requests
|
||||
- d: Full Thread Device
|
||||
- n: Full Network Data
|
||||
|
||||
```bash
|
||||
> mode
|
||||
rsdn
|
||||
rdn
|
||||
Done
|
||||
```
|
||||
|
||||
### mode [rsdn]
|
||||
### mode [rdn]
|
||||
|
||||
Set the Thread Device Mode value.
|
||||
|
||||
- -: no flags set (rx-off-when-idle, minimal Thread device, stable network data)
|
||||
- r: rx-on-when-idle
|
||||
- s: Secure IEEE 802.15.4 data requests
|
||||
- d: Full Thread Device
|
||||
- n: Full Network Data
|
||||
|
||||
```bash
|
||||
> mode rsdn
|
||||
> mode rdn
|
||||
Done
|
||||
```
|
||||
|
||||
```bash
|
||||
> mode -
|
||||
Done
|
||||
```
|
||||
|
||||
|
||||
+40
-42
@@ -852,8 +852,8 @@ otError Interpreter::ProcessChild(uint8_t aArgsLength, char *aArgs[])
|
||||
|
||||
if (isTable)
|
||||
{
|
||||
OutputLine("| ID | RLOC16 | Timeout | Age | LQ In | C_VN |R|S|D|N| Extended MAC |");
|
||||
OutputLine("+-----+--------+------------+------------+-------+------+-+-+-+-+------------------+");
|
||||
OutputLine("| ID | RLOC16 | Timeout | Age | LQ In | C_VN |R|D|N| Extended MAC |");
|
||||
OutputLine("+-----+--------+------------+------------+-------+------+-+-+-+------------------+");
|
||||
}
|
||||
|
||||
maxChildren = otThreadGetMaxAllowedChildren(mInstance);
|
||||
@@ -874,7 +874,6 @@ otError Interpreter::ProcessChild(uint8_t aArgsLength, char *aArgs[])
|
||||
OutputFormat("| %5d ", childInfo.mLinkQualityIn);
|
||||
OutputFormat("| %4d ", childInfo.mNetworkDataVersion);
|
||||
OutputFormat("|%1d", childInfo.mRxOnWhenIdle);
|
||||
OutputFormat("|%1d", childInfo.mSecureDataRequest);
|
||||
OutputFormat("|%1d", childInfo.mFullThreadDevice);
|
||||
OutputFormat("|%1d", childInfo.mFullNetworkData);
|
||||
OutputFormat("| ");
|
||||
@@ -901,24 +900,26 @@ otError Interpreter::ProcessChild(uint8_t aArgsLength, char *aArgs[])
|
||||
OutputLine("");
|
||||
OutputFormat("Mode: ");
|
||||
|
||||
if (childInfo.mRxOnWhenIdle)
|
||||
if (!(childInfo.mRxOnWhenIdle || childInfo.mFullThreadDevice || childInfo.mFullNetworkData))
|
||||
{
|
||||
OutputFormat("r");
|
||||
OutputFormat("-");
|
||||
}
|
||||
|
||||
if (childInfo.mSecureDataRequest)
|
||||
else
|
||||
{
|
||||
OutputFormat("s");
|
||||
}
|
||||
if (childInfo.mRxOnWhenIdle)
|
||||
{
|
||||
OutputFormat("r");
|
||||
}
|
||||
|
||||
if (childInfo.mFullThreadDevice)
|
||||
{
|
||||
OutputFormat("d");
|
||||
}
|
||||
if (childInfo.mFullThreadDevice)
|
||||
{
|
||||
OutputFormat("d");
|
||||
}
|
||||
|
||||
if (childInfo.mFullNetworkData)
|
||||
{
|
||||
OutputFormat("n");
|
||||
if (childInfo.mFullNetworkData)
|
||||
{
|
||||
OutputFormat("n");
|
||||
}
|
||||
}
|
||||
|
||||
OutputLine("");
|
||||
@@ -2141,29 +2142,34 @@ otError Interpreter::ProcessMode(uint8_t aArgsLength, char *aArgs[])
|
||||
{
|
||||
linkMode = otThreadGetLinkMode(mInstance);
|
||||
|
||||
if (linkMode.mRxOnWhenIdle)
|
||||
if (!(linkMode.mRxOnWhenIdle || linkMode.mDeviceType || linkMode.mNetworkData))
|
||||
{
|
||||
OutputFormat("r");
|
||||
OutputFormat("-");
|
||||
}
|
||||
|
||||
if (linkMode.mSecureDataRequests)
|
||||
else
|
||||
{
|
||||
OutputFormat("s");
|
||||
}
|
||||
if (linkMode.mRxOnWhenIdle)
|
||||
{
|
||||
OutputFormat("r");
|
||||
}
|
||||
|
||||
if (linkMode.mDeviceType)
|
||||
{
|
||||
OutputFormat("d");
|
||||
}
|
||||
if (linkMode.mDeviceType)
|
||||
{
|
||||
OutputFormat("d");
|
||||
}
|
||||
|
||||
if (linkMode.mNetworkData)
|
||||
{
|
||||
OutputFormat("n");
|
||||
if (linkMode.mNetworkData)
|
||||
{
|
||||
OutputFormat("n");
|
||||
}
|
||||
}
|
||||
|
||||
OutputLine("");
|
||||
|
||||
ExitNow();
|
||||
}
|
||||
else
|
||||
|
||||
if (strcmp(aArgs[0], "-") != 0)
|
||||
{
|
||||
for (char *arg = aArgs[0]; *arg != '\0'; arg++)
|
||||
{
|
||||
@@ -2173,10 +2179,6 @@ otError Interpreter::ProcessMode(uint8_t aArgsLength, char *aArgs[])
|
||||
linkMode.mRxOnWhenIdle = 1;
|
||||
break;
|
||||
|
||||
case 's':
|
||||
linkMode.mSecureDataRequests = 1;
|
||||
break;
|
||||
|
||||
case 'd':
|
||||
linkMode.mDeviceType = 1;
|
||||
break;
|
||||
@@ -2189,10 +2191,10 @@ otError Interpreter::ProcessMode(uint8_t aArgsLength, char *aArgs[])
|
||||
ExitNow(error = OT_ERROR_INVALID_ARGS);
|
||||
}
|
||||
}
|
||||
|
||||
SuccessOrExit(error = otThreadSetLinkMode(mInstance, linkMode));
|
||||
}
|
||||
|
||||
error = otThreadSetLinkMode(mInstance, linkMode);
|
||||
|
||||
exit:
|
||||
return error;
|
||||
}
|
||||
@@ -2213,8 +2215,8 @@ otError Interpreter::ProcessNeighbor(uint8_t aArgsLength, char *aArgs[])
|
||||
{
|
||||
if (isTable)
|
||||
{
|
||||
OutputLine("| Role | RLOC16 | Age | Avg RSSI | Last RSSI |R|S|D|N| Extended MAC |");
|
||||
OutputLine("+------+--------+-----+----------+-----------+-+-+-+-+------------------+");
|
||||
OutputLine("| Role | RLOC16 | Age | Avg RSSI | Last RSSI |R|D|N| Extended MAC |");
|
||||
OutputLine("+------+--------+-----+----------+-----------+-+-+-+------------------+");
|
||||
}
|
||||
|
||||
while (otThreadGetNextNeighborInfo(mInstance, &iterator, &neighborInfo) == OT_ERROR_NONE)
|
||||
@@ -2227,7 +2229,6 @@ otError Interpreter::ProcessNeighbor(uint8_t aArgsLength, char *aArgs[])
|
||||
OutputFormat("| %8d ", neighborInfo.mAverageRssi);
|
||||
OutputFormat("| %9d ", neighborInfo.mLastRssi);
|
||||
OutputFormat("|%1d", neighborInfo.mRxOnWhenIdle);
|
||||
OutputFormat("|%1d", neighborInfo.mSecureDataRequest);
|
||||
OutputFormat("|%1d", neighborInfo.mFullThreadDevice);
|
||||
OutputFormat("|%1d", neighborInfo.mFullNetworkData);
|
||||
OutputFormat("| ");
|
||||
@@ -4446,9 +4447,6 @@ void Interpreter::OutputMode(const otLinkModeConfig &aMode, uint16_t aColumn)
|
||||
OutputSpaces(aColumn);
|
||||
OutputLine("RxOnWhenIdle: %d", aMode.mRxOnWhenIdle);
|
||||
|
||||
OutputSpaces(aColumn);
|
||||
OutputLine("SecureDataRequests: %d", aMode.mSecureDataRequests);
|
||||
|
||||
OutputSpaces(aColumn);
|
||||
OutputLine("DeviceType: %d", aMode.mDeviceType);
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ Mle::Mle(Instance &aInstance)
|
||||
, mRetrieveNewNetworkData(false)
|
||||
, mRole(kRoleDisabled)
|
||||
, mNeighborTable(aInstance)
|
||||
, mDeviceMode(DeviceMode::kModeRxOnWhenIdle | DeviceMode::kModeSecureDataRequest)
|
||||
, mDeviceMode(DeviceMode::kModeRxOnWhenIdle)
|
||||
, mAttachState(kAttachStateIdle)
|
||||
, mReattachState(kReattachStop)
|
||||
, mAttachCounter(0)
|
||||
@@ -377,7 +377,7 @@ otError Mle::Restore(void)
|
||||
mParent.SetExtAddress(parentInfo.GetExtAddress());
|
||||
mParent.SetVersion(static_cast<uint8_t>(parentInfo.GetVersion()));
|
||||
mParent.SetDeviceMode(DeviceMode(DeviceMode::kModeFullThreadDevice | DeviceMode::kModeRxOnWhenIdle |
|
||||
DeviceMode::kModeFullNetworkData | DeviceMode::kModeSecureDataRequest));
|
||||
DeviceMode::kModeFullNetworkData));
|
||||
mParent.SetRloc16(Rloc16FromRouterId(RouterIdFromRloc16(networkInfo.GetRloc16())));
|
||||
mParent.SetState(Neighbor::kStateRestored);
|
||||
|
||||
@@ -3264,7 +3264,7 @@ void Mle::HandleParentResponse(const Message &aMessage, const Ip6::MessageInfo &
|
||||
mParentCandidate.SetMleFrameCounter(mleFrameCounter);
|
||||
mParentCandidate.SetVersion(static_cast<uint8_t>(version));
|
||||
mParentCandidate.SetDeviceMode(DeviceMode(DeviceMode::kModeFullThreadDevice | DeviceMode::kModeRxOnWhenIdle |
|
||||
DeviceMode::kModeFullNetworkData | DeviceMode::kModeSecureDataRequest));
|
||||
DeviceMode::kModeFullNetworkData));
|
||||
mParentCandidate.GetLinkInfo().Clear();
|
||||
mParentCandidate.GetLinkInfo().AddRss(linkInfo->GetRss());
|
||||
mParentCandidate.ResetLinkFailures();
|
||||
|
||||
@@ -310,14 +310,6 @@ public:
|
||||
*/
|
||||
bool IsFullThreadDevice(void) const { return mDeviceMode.IsFullThreadDevice(); }
|
||||
|
||||
/**
|
||||
* This method indicates whether or not the device uses secure IEEE 802.15.4 Data Request messages.
|
||||
*
|
||||
* @returns TRUE if using secure IEEE 802.15.4 Data Request messages, FALSE otherwise.
|
||||
*
|
||||
*/
|
||||
bool IsSecureDataRequest(void) const { return mDeviceMode.IsSecureDataRequest(); }
|
||||
|
||||
/**
|
||||
* This method indicates whether or not the device requests Full Network Data.
|
||||
*
|
||||
|
||||
@@ -40,26 +40,23 @@ namespace Mle {
|
||||
|
||||
void DeviceMode::Get(ModeConfig &aModeConfig) const
|
||||
{
|
||||
aModeConfig.mRxOnWhenIdle = IsRxOnWhenIdle();
|
||||
aModeConfig.mSecureDataRequests = IsSecureDataRequest();
|
||||
aModeConfig.mDeviceType = IsFullThreadDevice();
|
||||
aModeConfig.mNetworkData = IsFullNetworkData();
|
||||
aModeConfig.mRxOnWhenIdle = IsRxOnWhenIdle();
|
||||
aModeConfig.mDeviceType = IsFullThreadDevice();
|
||||
aModeConfig.mNetworkData = IsFullNetworkData();
|
||||
}
|
||||
|
||||
void DeviceMode::Set(const ModeConfig &aModeConfig)
|
||||
{
|
||||
mMode = 0;
|
||||
mMode = kModeReserved;
|
||||
mMode |= aModeConfig.mRxOnWhenIdle ? kModeRxOnWhenIdle : 0;
|
||||
mMode |= aModeConfig.mSecureDataRequests ? kModeSecureDataRequest : 0;
|
||||
mMode |= aModeConfig.mDeviceType ? kModeFullThreadDevice : 0;
|
||||
mMode |= aModeConfig.mNetworkData ? kModeFullNetworkData : 0;
|
||||
}
|
||||
|
||||
DeviceMode::InfoString DeviceMode::ToString(void) const
|
||||
{
|
||||
return InfoString("rx-on:%s sec-poll:%s ftd:%s full-net:%s", IsRxOnWhenIdle() ? "yes" : "no",
|
||||
IsSecureDataRequest() ? "yes" : "no", IsFullThreadDevice() ? "yes" : "no",
|
||||
IsFullNetworkData() ? "yes" : "no");
|
||||
return InfoString("rx-on:%s ftd:%s full-net:%s", IsRxOnWhenIdle() ? "yes" : "no",
|
||||
IsFullThreadDevice() ? "yes" : "no", IsFullNetworkData() ? "yes" : "no");
|
||||
}
|
||||
|
||||
void MeshLocalPrefix::SetFromExtendedPanId(const Mac::ExtendedPanId &aExtendedPanId)
|
||||
|
||||
@@ -302,10 +302,10 @@ class DeviceMode : public Equatable<DeviceMode>
|
||||
public:
|
||||
enum
|
||||
{
|
||||
kModeRxOnWhenIdle = 1 << 3, ///< If the device has its receiver on when not transmitting.
|
||||
kModeSecureDataRequest = 1 << 2, ///< If the device uses link layer security for all data requests.
|
||||
kModeFullThreadDevice = 1 << 1, ///< If the device is an FTD.
|
||||
kModeFullNetworkData = 1 << 0, ///< If the device requires the full Network Data.
|
||||
kModeRxOnWhenIdle = 1 << 3, ///< If the device has its receiver on when not transmitting.
|
||||
kModeReserved = 1 << 2, ///< Set to 1 on transmission, ignore on reception.
|
||||
kModeFullThreadDevice = 1 << 1, ///< If the device is an FTD.
|
||||
kModeFullNetworkData = 1 << 0, ///< If the device requires the full Network Data.
|
||||
|
||||
kInfoStringSize = 45, ///< String buffer size used for `ToString()`.
|
||||
};
|
||||
@@ -361,7 +361,7 @@ public:
|
||||
* @param[in] aMode A mode TLV bitmask.
|
||||
*
|
||||
*/
|
||||
void Set(uint8_t aMode) { mMode = aMode; }
|
||||
void Set(uint8_t aMode) { mMode = aMode | kModeReserved; }
|
||||
|
||||
/**
|
||||
* This method gets the device mode as a mode configuration structure.
|
||||
@@ -388,15 +388,6 @@ public:
|
||||
*/
|
||||
bool IsRxOnWhenIdle(void) const { return (mMode & kModeRxOnWhenIdle) != 0; }
|
||||
|
||||
/**
|
||||
* This method indicates whether or not the device uses secure IEEE 802.15.4 Data Request messages.
|
||||
*
|
||||
* @retval TRUE If the device uses secure IEEE 802.15.4 Data Request (data poll) messages.
|
||||
* @retval FALSE If the device uses any IEEE 802.15.4 Data Request (data poll) messages.
|
||||
*
|
||||
*/
|
||||
bool IsSecureDataRequest(void) const { return (mMode & kModeSecureDataRequest) != 0; }
|
||||
|
||||
/**
|
||||
* This method indicates whether or not the device is a Full Thread Device.
|
||||
*
|
||||
|
||||
@@ -661,10 +661,9 @@ exit:
|
||||
|
||||
static inline void ParseMode(const Mle::DeviceMode &aMode, otLinkModeConfig &aLinkModeConfig)
|
||||
{
|
||||
aLinkModeConfig.mRxOnWhenIdle = aMode.IsRxOnWhenIdle();
|
||||
aLinkModeConfig.mSecureDataRequests = aMode.IsSecureDataRequest();
|
||||
aLinkModeConfig.mDeviceType = aMode.IsFullThreadDevice();
|
||||
aLinkModeConfig.mNetworkData = aMode.IsFullNetworkData();
|
||||
aLinkModeConfig.mRxOnWhenIdle = aMode.IsRxOnWhenIdle();
|
||||
aLinkModeConfig.mDeviceType = aMode.IsFullThreadDevice();
|
||||
aLinkModeConfig.mNetworkData = aMode.IsFullNetworkData();
|
||||
}
|
||||
|
||||
static inline void ParseConnectivity(const ConnectivityTlv & aConnectivityTlv,
|
||||
|
||||
@@ -66,20 +66,19 @@ exit:
|
||||
void Neighbor::Info::SetFrom(const Neighbor &aNeighbor)
|
||||
{
|
||||
Clear();
|
||||
mExtAddress = aNeighbor.GetExtAddress();
|
||||
mAge = Time::MsecToSec(TimerMilli::GetNow() - aNeighbor.GetLastHeard());
|
||||
mRloc16 = aNeighbor.GetRloc16();
|
||||
mLinkFrameCounter = aNeighbor.GetLinkFrameCounter();
|
||||
mMleFrameCounter = aNeighbor.GetMleFrameCounter();
|
||||
mLinkQualityIn = aNeighbor.GetLinkInfo().GetLinkQuality();
|
||||
mAverageRssi = aNeighbor.GetLinkInfo().GetAverageRss();
|
||||
mLastRssi = aNeighbor.GetLinkInfo().GetLastRss();
|
||||
mFrameErrorRate = aNeighbor.GetLinkInfo().GetFrameErrorRate();
|
||||
mMessageErrorRate = aNeighbor.GetLinkInfo().GetMessageErrorRate();
|
||||
mRxOnWhenIdle = aNeighbor.IsRxOnWhenIdle();
|
||||
mSecureDataRequest = aNeighbor.IsSecureDataRequest();
|
||||
mFullThreadDevice = aNeighbor.IsFullThreadDevice();
|
||||
mFullNetworkData = aNeighbor.IsFullNetworkData();
|
||||
mExtAddress = aNeighbor.GetExtAddress();
|
||||
mAge = Time::MsecToSec(TimerMilli::GetNow() - aNeighbor.GetLastHeard());
|
||||
mRloc16 = aNeighbor.GetRloc16();
|
||||
mLinkFrameCounter = aNeighbor.GetLinkFrameCounter();
|
||||
mMleFrameCounter = aNeighbor.GetMleFrameCounter();
|
||||
mLinkQualityIn = aNeighbor.GetLinkInfo().GetLinkQuality();
|
||||
mAverageRssi = aNeighbor.GetLinkInfo().GetAverageRss();
|
||||
mLastRssi = aNeighbor.GetLinkInfo().GetLastRss();
|
||||
mFrameErrorRate = aNeighbor.GetLinkInfo().GetFrameErrorRate();
|
||||
mMessageErrorRate = aNeighbor.GetLinkInfo().GetMessageErrorRate();
|
||||
mRxOnWhenIdle = aNeighbor.IsRxOnWhenIdle();
|
||||
mFullThreadDevice = aNeighbor.IsFullThreadDevice();
|
||||
mFullNetworkData = aNeighbor.IsFullNetworkData();
|
||||
}
|
||||
|
||||
void Neighbor::Init(Instance &aInstance)
|
||||
@@ -175,7 +174,6 @@ void Child::Info::SetFrom(const Child &aChild)
|
||||
mFrameErrorRate = aChild.GetLinkInfo().GetFrameErrorRate();
|
||||
mMessageErrorRate = aChild.GetLinkInfo().GetMessageErrorRate();
|
||||
mRxOnWhenIdle = aChild.IsRxOnWhenIdle();
|
||||
mSecureDataRequest = aChild.IsSecureDataRequest();
|
||||
mFullThreadDevice = aChild.IsFullThreadDevice();
|
||||
mFullNetworkData = aChild.IsFullNetworkData();
|
||||
mIsStateRestoring = aChild.IsStateRestoring();
|
||||
|
||||
@@ -337,14 +337,6 @@ public:
|
||||
*/
|
||||
bool IsFullThreadDevice(void) const { return GetDeviceMode().IsFullThreadDevice(); }
|
||||
|
||||
/**
|
||||
* This method indicates whether or not the device uses secure IEEE 802.15.4 Data Request messages.
|
||||
*
|
||||
* @returns TRUE if using secure IEEE 802.15.4 Data Request messages, FALSE otherwise.
|
||||
*
|
||||
*/
|
||||
bool IsSecureDataRequest(void) const { return GetDeviceMode().IsSecureDataRequest(); }
|
||||
|
||||
/**
|
||||
* This method indicates whether or not the device requests Full Network Data.
|
||||
*
|
||||
|
||||
@@ -151,8 +151,8 @@ void Otns::EmitTransmit(const Mac::TxFrame &aFrame)
|
||||
|
||||
void Otns::EmitDeviceMode(Mle::DeviceMode aMode)
|
||||
{
|
||||
EmitStatus("mode=%s%s%s%s", aMode.IsRxOnWhenIdle() ? "r" : "", aMode.IsSecureDataRequest() ? "s" : "",
|
||||
aMode.IsFullThreadDevice() ? "d" : "", aMode.IsFullNetworkData() ? "n" : "");
|
||||
EmitStatus("mode=%s%s%s", aMode.IsRxOnWhenIdle() ? "r" : "", aMode.IsFullThreadDevice() ? "d" : "",
|
||||
aMode.IsFullNetworkData() ? "n" : "");
|
||||
}
|
||||
|
||||
} // namespace Utils
|
||||
|
||||
@@ -514,10 +514,7 @@ protected:
|
||||
protected:
|
||||
static NcpBase * sNcpInstance;
|
||||
static spinel_status_t ThreadErrorToSpinelStatus(otError aError);
|
||||
static uint8_t LinkFlagsToFlagByte(bool aRxOnWhenIdle,
|
||||
bool aSecureDataRequests,
|
||||
bool aDeviceType,
|
||||
bool aNetworkData);
|
||||
static uint8_t LinkFlagsToFlagByte(bool aRxOnWhenIdle, bool aDeviceType, bool aNetworkData);
|
||||
Instance * mInstance;
|
||||
Spinel::Buffer mTxFrameBuffer;
|
||||
Spinel::Encoder mEncoder;
|
||||
|
||||
@@ -63,8 +63,8 @@ otError NcpBase::EncodeChildInfo(const otChildInfo &aChildInfo)
|
||||
otError error = OT_ERROR_NONE;
|
||||
uint8_t modeFlags;
|
||||
|
||||
modeFlags = LinkFlagsToFlagByte(aChildInfo.mRxOnWhenIdle, aChildInfo.mSecureDataRequest,
|
||||
aChildInfo.mFullThreadDevice, aChildInfo.mFullNetworkData);
|
||||
modeFlags =
|
||||
LinkFlagsToFlagByte(aChildInfo.mRxOnWhenIdle, aChildInfo.mFullThreadDevice, aChildInfo.mFullNetworkData);
|
||||
|
||||
SuccessOrExit(error = mEncoder.WriteEui64(aChildInfo.mExtAddress));
|
||||
SuccessOrExit(error = mEncoder.WriteUint16(aChildInfo.mRloc16));
|
||||
|
||||
@@ -135,7 +135,7 @@ static uint8_t ExternalRoutePreferenceToFlagByte(int aPreference)
|
||||
return flags;
|
||||
}
|
||||
|
||||
uint8_t NcpBase::LinkFlagsToFlagByte(bool aRxOnWhenIdle, bool aSecureDataRequests, bool aDeviceType, bool aNetworkData)
|
||||
uint8_t NcpBase::LinkFlagsToFlagByte(bool aRxOnWhenIdle, bool aDeviceType, bool aNetworkData)
|
||||
{
|
||||
uint8_t flags(0);
|
||||
|
||||
@@ -144,11 +144,6 @@ uint8_t NcpBase::LinkFlagsToFlagByte(bool aRxOnWhenIdle, bool aSecureDataRequest
|
||||
flags |= SPINEL_THREAD_MODE_RX_ON_WHEN_IDLE;
|
||||
}
|
||||
|
||||
if (aSecureDataRequests)
|
||||
{
|
||||
flags |= SPINEL_THREAD_MODE_SECURE_DATA_REQUEST;
|
||||
}
|
||||
|
||||
if (aDeviceType)
|
||||
{
|
||||
flags |= SPINEL_THREAD_MODE_FULL_THREAD_DEV;
|
||||
@@ -167,8 +162,8 @@ otError NcpBase::EncodeNeighborInfo(const otNeighborInfo &aNeighborInfo)
|
||||
otError error;
|
||||
uint8_t modeFlags;
|
||||
|
||||
modeFlags = LinkFlagsToFlagByte(aNeighborInfo.mRxOnWhenIdle, aNeighborInfo.mSecureDataRequest,
|
||||
aNeighborInfo.mFullThreadDevice, aNeighborInfo.mFullNetworkData);
|
||||
modeFlags = LinkFlagsToFlagByte(aNeighborInfo.mRxOnWhenIdle, aNeighborInfo.mFullThreadDevice,
|
||||
aNeighborInfo.mFullNetworkData);
|
||||
|
||||
SuccessOrExit(error = mEncoder.OpenStruct());
|
||||
|
||||
@@ -2848,8 +2843,7 @@ template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_MODE>(void)
|
||||
uint8_t numericMode;
|
||||
otLinkModeConfig modeConfig = otThreadGetLinkMode(mInstance);
|
||||
|
||||
numericMode = LinkFlagsToFlagByte(modeConfig.mRxOnWhenIdle, modeConfig.mSecureDataRequests, modeConfig.mDeviceType,
|
||||
modeConfig.mNetworkData);
|
||||
numericMode = LinkFlagsToFlagByte(modeConfig.mRxOnWhenIdle, modeConfig.mDeviceType, modeConfig.mNetworkData);
|
||||
|
||||
return mEncoder.WriteUint8(numericMode);
|
||||
}
|
||||
@@ -2864,8 +2858,6 @@ template <> otError NcpBase::HandlePropertySet<SPINEL_PROP_THREAD_MODE>(void)
|
||||
|
||||
modeConfig.mRxOnWhenIdle =
|
||||
((numericMode & SPINEL_THREAD_MODE_RX_ON_WHEN_IDLE) == SPINEL_THREAD_MODE_RX_ON_WHEN_IDLE);
|
||||
modeConfig.mSecureDataRequests =
|
||||
((numericMode & SPINEL_THREAD_MODE_SECURE_DATA_REQUEST) == SPINEL_THREAD_MODE_SECURE_DATA_REQUEST);
|
||||
modeConfig.mDeviceType = ((numericMode & SPINEL_THREAD_MODE_FULL_THREAD_DEV) == SPINEL_THREAD_MODE_FULL_THREAD_DEV);
|
||||
modeConfig.mNetworkData =
|
||||
((numericMode & SPINEL_THREAD_MODE_FULL_NETWORK_DATA) == SPINEL_THREAD_MODE_FULL_NETWORK_DATA);
|
||||
|
||||
@@ -62,7 +62,7 @@ proc setup_nodes {} {
|
||||
expect "Done"
|
||||
|
||||
set spawn_id $spawn_2
|
||||
send "mode rs\n"
|
||||
send "mode r\n"
|
||||
expect "Done"
|
||||
send "ifconfig up\n"
|
||||
expect "Done"
|
||||
|
||||
@@ -50,7 +50,7 @@ for {set i 2} {$i <= $max_node} {incr i} {
|
||||
expect_after {
|
||||
timeout { exit 1 }
|
||||
}
|
||||
send "mode rs\n"
|
||||
send "mode r\n"
|
||||
expect "Done"
|
||||
send "panid 0xface\n"
|
||||
expect "Done"
|
||||
|
||||
@@ -46,9 +46,9 @@ expect "Done"
|
||||
|
||||
set spawn_id $spawn_1
|
||||
send "child table\n"
|
||||
expect "| ID | RLOC16 | Timeout | Age | LQ In | C_VN |R|S|D|N| Extended MAC |"
|
||||
expect "+-----+--------+------------+------------+-------+------+-+-+-+-+------------------+"
|
||||
expect -re "\\| +(\\d+) \\| 0x$rloc \\| +\\d+ \\| +\\d+ \\| +\\d+ \\| +\\d+ \\|\\d\\|\\d\\|\\d\\|\\d\\| $extaddr \\|"
|
||||
expect "| ID | RLOC16 | Timeout | Age | LQ In | C_VN |R|D|N| Extended MAC |"
|
||||
expect "+-----+--------+------------+------------+-------+------+-+-+-+------------------+"
|
||||
expect -re "\\| +(\\d+) \\| 0x$rloc \\| +\\d+ \\| +\\d+ \\| +\\d+ \\| +\\d+ \\|\\d\\|\\d\\|\\d\\| $extaddr \\|"
|
||||
set child_id $expect_out(1,string)
|
||||
expect "Done"
|
||||
send "child list\n"
|
||||
|
||||
@@ -61,7 +61,7 @@ expect "Done"
|
||||
set spawn_2 [spawn_node 2]
|
||||
|
||||
set spawn_id $spawn_2
|
||||
send "mode rs\n"
|
||||
send "mode r\n"
|
||||
expect "Done"
|
||||
send "ifconfig up\n"
|
||||
expect "Done"
|
||||
|
||||
@@ -87,10 +87,10 @@ send "leaderweight\n"
|
||||
expect "1"
|
||||
expect "Done"
|
||||
|
||||
send "mode rsdn\n"
|
||||
send "mode rdn\n"
|
||||
expect "Done"
|
||||
send "mode\n"
|
||||
expect -re "(?=.*r)(?=.*s)(?=.*d)(?=.*n)"
|
||||
expect -re "(?=.*r)(?=.*d)(?=.*n)"
|
||||
|
||||
send "parent\n"
|
||||
expect "Done"
|
||||
|
||||
@@ -46,9 +46,9 @@ expect "Done"
|
||||
|
||||
set spawn_id $spawn_1
|
||||
send "neighbor table\n"
|
||||
expect "| Role | RLOC16 | Age | Avg RSSI | Last RSSI |R|S|D|N| Extended MAC |"
|
||||
expect "+------+--------+-----+----------+-----------+-+-+-+-+------------------+"
|
||||
expect -re "\\| +C +\\| 0x$rloc \\| +\\d+ \\| +-?\\d+ \\| +-?\\d+ \\|1\\|1\\|0\\|0\\| $extaddr \\|"
|
||||
expect "| Role | RLOC16 | Age | Avg RSSI | Last RSSI |R|D|N| Extended MAC |"
|
||||
expect "+------+--------+-----+----------+-----------+-+-+-+------------------+"
|
||||
expect -re "\\| +C +\\| 0x$rloc \\| +\\d+ \\| +-?\\d+ \\| +-?\\d+ \\|1\\|0\\|0\\| $extaddr \\|"
|
||||
expect "Done"
|
||||
send "neighbor list\n"
|
||||
expect "0x$rloc"
|
||||
|
||||
@@ -54,7 +54,7 @@ expect -re "\\| +$router_id \\| 0x$rloc \\| +\\d+ \\| +\\d+ \\| +\\d+ \\| +\\d+
|
||||
expect "Done"
|
||||
|
||||
set spawn_id $spawn_2
|
||||
send "mode rsdn\n"
|
||||
send "mode rdn\n"
|
||||
expect "Done"
|
||||
send "state router\n"
|
||||
expect "Done"
|
||||
|
||||
@@ -43,7 +43,7 @@ expect "Enabled"
|
||||
expect "Done"
|
||||
send "routereligible something_invalid\n"
|
||||
expect "Error 7: InvalidArgs"
|
||||
send "mode rs\n"
|
||||
send "mode r\n"
|
||||
expect "Done"
|
||||
send "routereligible\n"
|
||||
expect "Disabled"
|
||||
|
||||
@@ -54,7 +54,7 @@ expect_after {
|
||||
|
||||
send "panid 0xface\n"
|
||||
expect "Done"
|
||||
send "mode s\n"
|
||||
send "mode -\n"
|
||||
expect "Done"
|
||||
send "csl period 5000\n"
|
||||
expect "Done"
|
||||
|
||||
@@ -40,12 +40,12 @@ ROUTER = 2
|
||||
class Cert_5_1_01_RouterAttach(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -44,26 +44,26 @@ MTDS = [ED, SED]
|
||||
class Cert_5_1_02_ChildAddressTimeout(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED, SED]
|
||||
},
|
||||
ED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
SED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'sn',
|
||||
'mode': 'n',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
|
||||
@@ -41,18 +41,18 @@ ROUTER2 = 3
|
||||
class Cert_5_1_03_RouterAddressReallocation(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER2]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER1]
|
||||
|
||||
@@ -41,18 +41,18 @@ ROUTER2 = 3
|
||||
class Cert_5_1_04_RouterAddressReallocation(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER2]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER1]
|
||||
|
||||
@@ -40,12 +40,12 @@ ROUTER1 = 2
|
||||
class Cert_5_1_05_RouterAddressTimeout(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -41,12 +41,12 @@ ROUTER1 = 2
|
||||
class Cert_5_1_06_RemoveRouterId(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -43,14 +43,14 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'max_children': 10,
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, 3, 4, 5, 6, SED1, 8, 9, 10, 11, 12]
|
||||
@@ -58,7 +58,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
3: {
|
||||
'name': 'MED1',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -66,7 +66,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
4: {
|
||||
'name': 'MED2',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -74,7 +74,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
5: {
|
||||
'name': 'MED3',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -82,7 +82,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
6: {
|
||||
'name': 'MED4',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -90,7 +90,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
SED1: {
|
||||
'name': 'SED1',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -98,7 +98,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
8: {
|
||||
'name': 'SED2',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -106,7 +106,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
9: {
|
||||
'name': 'SED3',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -114,7 +114,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
10: {
|
||||
'name': 'SED4',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -122,7 +122,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
11: {
|
||||
'name': 'SED5',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
@@ -130,7 +130,7 @@ class Cert_5_1_07_MaxChildCount(thread_cert.TestCase):
|
||||
12: {
|
||||
'name': 'SED6',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
|
||||
@@ -43,30 +43,30 @@ ROUTER4 = 5
|
||||
class Cert_5_1_08_RouterAttachConnectivity(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2, ROUTER3]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER3]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER4]
|
||||
},
|
||||
ROUTER3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER1, ROUTER4]
|
||||
},
|
||||
ROUTER4: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER2, ROUTER3]
|
||||
|
||||
@@ -43,30 +43,30 @@ ROUTER2 = 5
|
||||
class Cert_5_1_09_REEDAttachConnectivity(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, REED0, REED1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, REED1]
|
||||
},
|
||||
REED0: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, ROUTER2]
|
||||
},
|
||||
REED1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [REED0, REED1]
|
||||
|
||||
@@ -41,24 +41,24 @@ ROUTER3 = 4
|
||||
class Cert_5_1_10_RouterAttachLinkQuality(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER3]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, (ROUTER3, -85)]
|
||||
},
|
||||
ROUTER3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
|
||||
@@ -41,24 +41,24 @@ ROUTER1 = 4
|
||||
class Cert_5_1_11_REEDAttachLinkQuality(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [REED, ROUTER2]
|
||||
},
|
||||
REED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, ROUTER1]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, (ROUTER1, -85)]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [REED, ROUTER2]
|
||||
|
||||
@@ -40,18 +40,18 @@ ROUTER2 = 3
|
||||
class Cert_5_1_12_NewRouterSync(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -39,12 +39,12 @@ ROUTER = 2
|
||||
class Cert_5_1_13_RouterReset(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -43,18 +43,18 @@ MED1 = 4
|
||||
class Cert_5_2_01_REEDAttach(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_ROUTER1]
|
||||
},
|
||||
DUT_ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, REED1]
|
||||
},
|
||||
REED1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 1,
|
||||
@@ -62,7 +62,7 @@ class Cert_5_2_01_REEDAttach(thread_cert.TestCase):
|
||||
},
|
||||
MED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [REED1]
|
||||
},
|
||||
|
||||
@@ -43,7 +43,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
DUT_LEADER: {
|
||||
'mode':
|
||||
'rsdn',
|
||||
'rdn',
|
||||
'panid':
|
||||
0xface,
|
||||
'router_downgrade_threshold':
|
||||
@@ -56,7 +56,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
]
|
||||
},
|
||||
ROUTER_1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -64,7 +64,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER, ROUTER_32]
|
||||
},
|
||||
3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -72,7 +72,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
4: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -80,7 +80,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
5: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -88,7 +88,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
6: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -96,7 +96,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
7: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -104,7 +104,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
8: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -112,7 +112,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
9: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -120,7 +120,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
10: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -128,7 +128,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
11: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -136,7 +136,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
12: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -144,7 +144,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
13: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -152,7 +152,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
14: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -160,7 +160,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -168,7 +168,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
16: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -176,7 +176,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
17: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -184,7 +184,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
18: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -192,7 +192,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
19: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -200,7 +200,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
20: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -208,7 +208,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
21: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -216,7 +216,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
22: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -224,7 +224,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
23: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -232,7 +232,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
24: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -240,7 +240,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
25: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -248,7 +248,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
26: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -256,7 +256,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
27: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -264,7 +264,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
28: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -272,7 +272,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
29: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -280,7 +280,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
30: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -288,7 +288,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
31: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -296,7 +296,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
ROUTER_31: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -304,7 +304,7 @@ class Cert_5_2_3_LeaderReject2Hops(thread_cert.TestCase):
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
ROUTER_32: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 33,
|
||||
'router_selection_jitter': 1,
|
||||
|
||||
@@ -47,108 +47,108 @@ ROUTER_SELECTION_JITTER = 1
|
||||
class Cert_5_2_4_REEDUpgrade(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ROUTER]
|
||||
},
|
||||
2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
4: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
5: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
6: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
7: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
8: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
9: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
10: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
11: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
12: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
13: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
14: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ROUTER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, DUT_REED]
|
||||
},
|
||||
DUT_REED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER, ED]
|
||||
},
|
||||
ED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_REED]
|
||||
},
|
||||
|
||||
@@ -44,108 +44,108 @@ ROUTER_SELECTION_JITTER = 1
|
||||
class Cert_5_2_5_AddressQuery(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, BR, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, ED1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, DUT_REED]
|
||||
},
|
||||
BR: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
4: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
5: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
6: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
7: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
8: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
9: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
10: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
11: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
12: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
13: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
14: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
16: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
DUT_REED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1]
|
||||
|
||||
@@ -43,166 +43,166 @@ ROUTER24 = 24
|
||||
class Cert_5_2_06_RouterDowngrade(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
DUT_ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
4: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
5: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
6: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
7: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
8: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
9: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
10: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
11: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
12: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
13: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
14: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
16: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
17: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
18: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
19: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
20: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
21: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
22: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
23: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
'router_upgrade_threshold': 32
|
||||
},
|
||||
ROUTER24: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_downgrade_threshold': 32,
|
||||
'router_selection_jitter': 1,
|
||||
|
||||
@@ -45,87 +45,87 @@ MLE_MIN_LINKS = 3
|
||||
class Cert_5_2_7_REEDSynchronization(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
DUT_ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
4: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
5: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
6: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
7: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
8: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
9: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
10: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
11: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
12: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
13: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
14: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
16: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
DUT_REED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
|
||||
@@ -39,11 +39,11 @@ DUT_ROUTER1 = 2
|
||||
class Cert_5_3_1_LinkLocal(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface
|
||||
},
|
||||
DUT_ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1
|
||||
},
|
||||
|
||||
@@ -41,25 +41,25 @@ SED1 = 4
|
||||
class Cert_5_3_2_RealmLocal(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, DUT_ROUTER2]
|
||||
},
|
||||
DUT_ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1, SED1]
|
||||
},
|
||||
SED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'sn',
|
||||
'mode': 'n',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [DUT_ROUTER2]
|
||||
|
||||
@@ -44,31 +44,31 @@ MED1_TIMEOUT = 3
|
||||
class Cert_5_3_3_AddressQuery(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, DUT_ROUTER2, ROUTER3]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
DUT_ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER3, MED1]
|
||||
},
|
||||
ROUTER3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, DUT_ROUTER2]
|
||||
},
|
||||
MED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': 3,
|
||||
'allowlist': [DUT_ROUTER2]
|
||||
|
||||
@@ -47,44 +47,44 @@ MTDS = [SED1, ED1, ED2, ED3, ED4]
|
||||
class Cert_5_3_4_AddressMapCache(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_ROUTER1, ED1, ED2, ED3, ED4]
|
||||
},
|
||||
DUT_ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, SED1]
|
||||
},
|
||||
SED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': 5,
|
||||
'allowlist': [DUT_ROUTER1]
|
||||
},
|
||||
ED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ED2: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ED3: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ED4: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
|
||||
@@ -42,24 +42,24 @@ ROUTER3 = 4
|
||||
class Cert_5_3_5_RoutingLinkQuality(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_ROUTER1, ROUTER2]
|
||||
},
|
||||
DUT_ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER2, ROUTER3]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, DUT_ROUTER1]
|
||||
},
|
||||
ROUTER3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [DUT_ROUTER1]
|
||||
|
||||
@@ -42,18 +42,18 @@ ROUTER2 = 3
|
||||
class Cert_5_3_6_RouterIdMask(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
DUT_LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [DUT_LEADER, ROUTER2]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1]
|
||||
|
||||
@@ -39,18 +39,18 @@ ROUTER2 = 3
|
||||
class Cert_5_3_6_RouterIdMask(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER2]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1]
|
||||
|
||||
@@ -47,37 +47,37 @@ MTDS = [MED1, SED1, MED3]
|
||||
class Cert_5_3_7_DuplicateAddress(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
DUT_LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2, MED3]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [DUT_LEADER, MED1]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [DUT_LEADER, SED1]
|
||||
},
|
||||
MED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
SED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER2]
|
||||
},
|
||||
MED3: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
|
||||
@@ -46,25 +46,25 @@ MTDS = [MED1, MED2]
|
||||
class Cert_5_3_8_ChildAddressSet(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
DUT_LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [BR, MED1, MED2]
|
||||
},
|
||||
BR: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
MED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
MED2: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_LEADER]
|
||||
},
|
||||
|
||||
@@ -45,31 +45,31 @@ SED1 = 5
|
||||
class Cert_5_3_09_AddressQuery(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, DUT_ROUTER2, ROUTER3]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
DUT_ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, SED1]
|
||||
},
|
||||
ROUTER3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
SED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [DUT_ROUTER2]
|
||||
|
||||
@@ -47,31 +47,31 @@ class Cert_5_3_10_AddressQuery(thread_cert.TestCase):
|
||||
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [BR, ROUTER1, DUT_ROUTER2]
|
||||
},
|
||||
BR: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, DUT_ROUTER2]
|
||||
},
|
||||
DUT_ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER1, MED1]
|
||||
},
|
||||
MED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_ROUTER2]
|
||||
},
|
||||
|
||||
@@ -41,19 +41,19 @@ MED1 = 3
|
||||
class Cert_5_3_11_AddressQueryTimeoutIntervals(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_ROUTER1]
|
||||
},
|
||||
DUT_ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, MED1]
|
||||
},
|
||||
MED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_ROUTER1]
|
||||
},
|
||||
|
||||
@@ -42,12 +42,12 @@ DUT_ROUTER1 = 2
|
||||
class Cert_5_5_1_LeaderReboot(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
DUT_LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [DUT_ROUTER1]
|
||||
},
|
||||
DUT_ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [DUT_LEADER]
|
||||
|
||||
@@ -44,14 +44,14 @@ class Cert_5_5_2_LeaderReboot(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED]
|
||||
@@ -59,7 +59,7 @@ class Cert_5_5_2_LeaderReboot(thread_cert.TestCase):
|
||||
ED: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
|
||||
@@ -44,38 +44,38 @@ MTDS = [ED1, ED2, ED3]
|
||||
class Cert_5_5_3_SplitMergeChildren(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1, ROUTER2, ED1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED2, ED3]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ED2: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
ED3: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
|
||||
@@ -44,35 +44,35 @@ class Cert_5_5_4_SplitMergeRouters(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER3]
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER4]
|
||||
},
|
||||
ROUTER3: {
|
||||
'name': 'ROUTER_3',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
ROUTER4: {
|
||||
'name': 'ROUTER_4',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER2]
|
||||
|
||||
@@ -45,106 +45,106 @@ class Cert_5_5_5_SplitMergeREED(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER2, ROUTER3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ROUTER15]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER3]
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, REED1]
|
||||
},
|
||||
ROUTER3: {
|
||||
'name': 'ROUTER_3',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER1]
|
||||
},
|
||||
5: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
6: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
7: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
8: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
9: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
10: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
11: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
12: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
13: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
14: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ROUTER15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
REED1: {
|
||||
'name': 'REED',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER2]
|
||||
},
|
||||
|
||||
@@ -43,28 +43,28 @@ class Cert_5_5_7_SplitMergeThreeWay(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER1: {
|
||||
'name': 'LEADER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ROUTER1, ROUTER2, ROUTER3]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER1]
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER1]
|
||||
},
|
||||
ROUTER3: {
|
||||
'name': 'ROUTER_3',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER1]
|
||||
|
||||
@@ -47,13 +47,13 @@ class Cert_5_6_1_NetworkDataLeaderAsBr(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED1, SED1]
|
||||
@@ -61,14 +61,14 @@ class Cert_5_6_1_NetworkDataLeaderAsBr(thread_cert.TestCase):
|
||||
ED1: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
SED1: {
|
||||
'name': 'SED',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
|
||||
@@ -47,13 +47,13 @@ class Cert_5_6_2_NetworkDataRouterAsBr(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER, ED1, SED1]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
@@ -61,14 +61,14 @@ class Cert_5_6_2_NetworkDataRouterAsBr(thread_cert.TestCase):
|
||||
ED1: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
SED1: {
|
||||
'name': 'SED',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -47,13 +47,13 @@ class Cert_5_6_3_NetworkDataRegisterAfterAttachLeader(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED1, SED1]
|
||||
@@ -61,14 +61,14 @@ class Cert_5_6_3_NetworkDataRegisterAfterAttachLeader(thread_cert.TestCase):
|
||||
ED1: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
SED1: {
|
||||
'name': 'SED',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
|
||||
@@ -47,13 +47,13 @@ class Cert_5_6_4_NetworkDataRegisterAfterAttachRouter(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER, ED1, SED1]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
@@ -61,14 +61,14 @@ class Cert_5_6_4_NetworkDataRegisterAfterAttachRouter(thread_cert.TestCase):
|
||||
ED1: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
SED1: {
|
||||
'name': 'SED',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -47,13 +47,13 @@ class Cert_5_6_5_NetworkDataRegisterAfterAttachRouter(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER, ED1, SED1]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
@@ -61,14 +61,14 @@ class Cert_5_6_5_NetworkDataRegisterAfterAttachRouter(thread_cert.TestCase):
|
||||
ED1: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
SED1: {
|
||||
'name': 'SED',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -47,13 +47,13 @@ class Cert_5_6_6_NetworkDataExpiration(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER, ED1, SED1]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
@@ -61,14 +61,14 @@ class Cert_5_6_6_NetworkDataExpiration(thread_cert.TestCase):
|
||||
ED1: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
SED1: {
|
||||
'name': 'SED',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -45,105 +45,105 @@ class Cert_5_6_7_NetworkDataRequestREED(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2, ROUTER3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ROUTER15]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, REED1]
|
||||
},
|
||||
ROUTER3: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
5: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
6: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
7: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
8: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
9: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
10: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
11: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
12: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
13: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
14: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
ROUTER15: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
REED1: {
|
||||
'name': 'REED',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER2]
|
||||
},
|
||||
|
||||
@@ -48,20 +48,20 @@ class Cert_5_6_9_NetworkDataForwarding(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED, SED]
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
@@ -69,14 +69,14 @@ class Cert_5_6_9_NetworkDataForwarding(thread_cert.TestCase):
|
||||
ED: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
SED: {
|
||||
'name': 'SED',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER1]
|
||||
|
||||
@@ -64,13 +64,13 @@ class Cert_5_7_01_CoapDiagCommands_A(thread_cert.TestCase):
|
||||
},
|
||||
SED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'allowlist': [ROUTER1],
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT
|
||||
},
|
||||
MED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
FED1: {
|
||||
|
||||
@@ -42,14 +42,14 @@ class Cert_5_8_2_KeyIncrement(thread_cert.TestCase):
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'key_switch_guardtime': 0,
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'key_switch_guardtime': 0,
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -43,14 +43,14 @@ class Cert_5_8_3_KeyIncrementRollOver(thread_cert.TestCase):
|
||||
'name': 'LEADER',
|
||||
'key_sequence_counter': 127,
|
||||
'key_switch_guardtime': 0,
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'key_switch_guardtime': 0,
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -39,13 +39,13 @@ ED = 2
|
||||
class Cert_6_1_1_RouterAttach(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ED]
|
||||
},
|
||||
ED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
|
||||
@@ -45,19 +45,19 @@ MED = 3
|
||||
class Cert_6_1_2_REEDAttach_MED(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [REED]
|
||||
},
|
||||
REED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, MED]
|
||||
},
|
||||
MED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [REED]
|
||||
|
||||
@@ -46,19 +46,19 @@ SED = 3
|
||||
class Cert_6_1_2_REEDAttach_SED(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [REED]
|
||||
},
|
||||
REED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, SED]
|
||||
},
|
||||
SED: {
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [REED]
|
||||
|
||||
@@ -45,27 +45,27 @@ class Cert_6_1_3_RouterAttachConnectivity(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2, ROUTER3]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER3]
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED]
|
||||
},
|
||||
ROUTER3: {
|
||||
'name': 'ROUTER_3',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER1, ED]
|
||||
@@ -73,7 +73,7 @@ class Cert_6_1_3_RouterAttachConnectivity(thread_cert.TestCase):
|
||||
ED: {
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER2, ROUTER3]
|
||||
},
|
||||
|
||||
@@ -44,27 +44,27 @@ class Cert_6_1_5_REEDAttachConnectivity(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, REED1, REED2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, REED2]
|
||||
},
|
||||
REED1: {
|
||||
'name': 'REED_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, ROUTER1, ED]
|
||||
},
|
||||
REED2: {
|
||||
'name': 'REED_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, (ED, -85)]
|
||||
@@ -72,7 +72,7 @@ class Cert_6_1_5_REEDAttachConnectivity(thread_cert.TestCase):
|
||||
ED: {
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [REED1, REED2]
|
||||
},
|
||||
|
||||
@@ -41,25 +41,25 @@ ED = 4
|
||||
class Cert_6_1_6_REEDAttachLinkQuality_ED(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [REED, ROUTER2]
|
||||
},
|
||||
REED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, ED]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, (ED, -85)]
|
||||
},
|
||||
ED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [REED, ROUTER2]
|
||||
},
|
||||
|
||||
@@ -42,25 +42,25 @@ SED = 4
|
||||
class Cert_6_1_6_REEDAttachLinkQuality_SED(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [REED, ROUTER2]
|
||||
},
|
||||
REED: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_upgrade_threshold': 0,
|
||||
'allowlist': [LEADER, SED]
|
||||
},
|
||||
ROUTER2: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, (SED, -85)]
|
||||
},
|
||||
SED: {
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [REED, ROUTER2]
|
||||
|
||||
@@ -43,20 +43,20 @@ class Cert_6_1_7_RouterAttachLinkQuality(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED]
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, (ED, -85)]
|
||||
@@ -64,7 +64,7 @@ class Cert_6_1_7_RouterAttachLinkQuality(thread_cert.TestCase):
|
||||
ED: {
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
|
||||
@@ -44,13 +44,13 @@ class Cert_6_1_9_EDSynchronization(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ED, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED, ROUTER3]
|
||||
@@ -63,14 +63,14 @@ class Cert_6_1_9_EDSynchronization(thread_cert.TestCase):
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED, ROUTER3]
|
||||
},
|
||||
ROUTER3: {
|
||||
'name': 'ROUTER_3',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [ED, ROUTER1, ROUTER2]
|
||||
|
||||
@@ -39,19 +39,19 @@ ED = 3
|
||||
class Cert_6_2_1_NewPartition(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
ROUTER1: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED]
|
||||
},
|
||||
ED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
|
||||
@@ -43,20 +43,20 @@ class Cert_6_2_2_NewPartition(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1, ROUTER2]
|
||||
},
|
||||
ROUTER1: {
|
||||
'name': 'ROUTER_1',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ROUTER2, ED]
|
||||
},
|
||||
ROUTER2: {
|
||||
'name': 'ROUTER_2',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'network_id_timeout': 110,
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
@@ -65,7 +65,7 @@ class Cert_6_2_2_NewPartition(thread_cert.TestCase):
|
||||
ED: {
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER1]
|
||||
},
|
||||
|
||||
@@ -42,13 +42,13 @@ class Cert_6_3_1_OrphanReattach(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED]
|
||||
@@ -56,7 +56,7 @@ class Cert_6_3_1_OrphanReattach(thread_cert.TestCase):
|
||||
ED: {
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': 10,
|
||||
'allowlist': [ROUTER]
|
||||
|
||||
@@ -41,14 +41,14 @@ class Cert_6_3_2_NetworkDataUpdate(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ED]
|
||||
},
|
||||
ED: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': 10,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -38,13 +38,13 @@ ED = 2
|
||||
class Cert_6_4_1_LinkLocal(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ED]
|
||||
},
|
||||
ED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
|
||||
@@ -39,19 +39,19 @@ ED = 3
|
||||
class Cert_5_3_2_RealmLocal(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED]
|
||||
},
|
||||
ED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
|
||||
@@ -41,14 +41,14 @@ class Cert_6_5_1_ChildResetReattach(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ED]
|
||||
},
|
||||
ED: {
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
|
||||
@@ -38,13 +38,13 @@ ED = 2
|
||||
class Cert_6_5_2_ChildResetReattach(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ED]
|
||||
},
|
||||
ED: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
|
||||
@@ -42,14 +42,14 @@ class Cert_6_5_3_ChildResetSynchronize(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ED]
|
||||
},
|
||||
ED: {
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [LEADER]
|
||||
|
||||
@@ -42,7 +42,7 @@ class Cert_6_6_1_KeyIncrement(thread_cert.TestCase):
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'key_switch_guardtime': 0,
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ED]
|
||||
},
|
||||
@@ -50,7 +50,7 @@ class Cert_6_6_1_KeyIncrement(thread_cert.TestCase):
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'key_switch_guardtime': 0,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
|
||||
@@ -43,7 +43,7 @@ class Cert_6_6_2_KeyIncrement1(thread_cert.TestCase):
|
||||
'name': 'LEADER',
|
||||
'key_sequence_counter': 127,
|
||||
'key_switch_guardtime': 0,
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ED]
|
||||
},
|
||||
@@ -51,7 +51,7 @@ class Cert_6_6_2_KeyIncrement1(thread_cert.TestCase):
|
||||
'name': 'ED',
|
||||
'is_mtd': True,
|
||||
'key_switch_guardtime': 0,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
|
||||
@@ -53,26 +53,26 @@ MTDS = [SED1, MED1]
|
||||
class Cert_7_1_1_BorderRouterAsLeader(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER, SED1, MED1]
|
||||
},
|
||||
ROUTER: {
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
SED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
MED1: {
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [LEADER]
|
||||
},
|
||||
|
||||
@@ -47,13 +47,13 @@ class Cert_7_1_2_BorderRouterAsRouter(thread_cert.TestCase):
|
||||
TOPOLOGY = {
|
||||
LEADER: {
|
||||
'name': 'LEADER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
ROUTER: {
|
||||
'name': 'ROUTER',
|
||||
'mode': 'rsdn',
|
||||
'mode': 'rdn',
|
||||
'panid': 0xface,
|
||||
'router_selection_jitter': 1,
|
||||
'allowlist': [LEADER, ED2, SED2]
|
||||
@@ -61,14 +61,14 @@ class Cert_7_1_2_BorderRouterAsRouter(thread_cert.TestCase):
|
||||
ED2: {
|
||||
'name': 'MED',
|
||||
'is_mtd': True,
|
||||
'mode': 'rsn',
|
||||
'mode': 'rn',
|
||||
'panid': 0xface,
|
||||
'allowlist': [ROUTER]
|
||||
},
|
||||
SED2: {
|
||||
'name': 'SED',
|
||||
'is_mtd': True,
|
||||
'mode': 's',
|
||||
'mode': '-',
|
||||
'panid': 0xface,
|
||||
'timeout': config.DEFAULT_CHILD_TIMEOUT,
|
||||
'allowlist': [ROUTER]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user