[mle] remove secure data request mode bit (#5560)

- Always set to 1 on transmission.
- Always ignore on reception.
This commit is contained in:
Jonathan Hui
2020-09-29 15:30:37 -07:00
committed by GitHub
parent 1f834a56c5
commit dc9b032dad
151 changed files with 732 additions and 785 deletions
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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);
}
+1 -1
View File
@@ -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
View File
@@ -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.
+15 -16
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+3 -3
View File
@@ -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();
-8
View File
@@ -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.
*
+6 -9
View File
@@ -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)
+5 -14
View File
@@ -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.
*
+3 -4
View File
@@ -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,
+13 -15
View File
@@ -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();
-8
View File
@@ -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.
*
+2 -2
View File
@@ -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
+1 -4
View File
@@ -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;
+2 -2
View File
@@ -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));
+4 -12
View File
@@ -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);
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"
+3 -3
View File
@@ -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"
+1 -1
View File
@@ -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"
+2 -2
View File
@@ -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"
+3 -3
View File
@@ -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"
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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