[thci] increase BBR Sequence Number when dataset changes (#7558)
Make sure BBR Sequence Number is increased when Re-registration
Delay or MLR Timeout changes.
diff --git a/tools/harness-thci/OpenThread.py b/tools/harness-thci/OpenThread.py
index 8445385..f2556ca 100644
--- a/tools/harness-thci/OpenThread.py
+++ b/tools/harness-thci/OpenThread.py
@@ -2963,6 +2963,11 @@
False: fail to set BBR Dataset
"""
assert not (SeqNumInc and SeqNum is not None), "Must not specify both SeqNumInc and SeqNum"
+
+ if (MlrTimeout and MlrTimeout != self.bbrMlrTimeout) or (ReRegDelay and ReRegDelay != self.bbrReRegDelay):
+ if SeqNum is None:
+ SeqNumInc = True
+
if SeqNumInc:
if self.bbrSeqNum in (126, 127):
self.bbrSeqNum = 0
@@ -2970,6 +2975,8 @@
self.bbrSeqNum = 128
else:
self.bbrSeqNum = (self.bbrSeqNum + 1) % 256
+ else:
+ self.bbrSeqNum = SeqNum
return self.__configBbrDataset(SeqNum=self.bbrSeqNum, MlrTimeout=MlrTimeout, ReRegDelay=ReRegDelay)
@@ -3256,7 +3263,7 @@
@API
def setMLRtimeout(self, iMsecs):
"""Setup BBR MLR Timeout to `iMsecs` seconds."""
- self.__configBbrDataset(MlrTimeout=iMsecs)
+ self.setBbrDataset(MlrTimeout=iMsecs)
@API
def stopListeningToAddr(self, sAddr):