[thci] increase BBR Sequence Number when dataset changes (#7558)

Make sure BBR Sequence Number is increased when Re-registration
Delay or MLR Timeout changes.
This commit is contained in:
Eduardo Montoya
2022-04-07 11:46:06 -07:00
committed by GitHub
parent cda71d1b25
commit 5eb0537cf0
+8 -1
View File
@@ -2963,6 +2963,11 @@ class OpenThreadTHCI(object):
False: fail to set BBR Dataset False: fail to set BBR Dataset
""" """
assert not (SeqNumInc and SeqNum is not None), "Must not specify both SeqNumInc and SeqNum" 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 SeqNumInc:
if self.bbrSeqNum in (126, 127): if self.bbrSeqNum in (126, 127):
self.bbrSeqNum = 0 self.bbrSeqNum = 0
@@ -2970,6 +2975,8 @@ class OpenThreadTHCI(object):
self.bbrSeqNum = 128 self.bbrSeqNum = 128
else: else:
self.bbrSeqNum = (self.bbrSeqNum + 1) % 256 self.bbrSeqNum = (self.bbrSeqNum + 1) % 256
else:
self.bbrSeqNum = SeqNum
return self.__configBbrDataset(SeqNum=self.bbrSeqNum, MlrTimeout=MlrTimeout, ReRegDelay=ReRegDelay) return self.__configBbrDataset(SeqNum=self.bbrSeqNum, MlrTimeout=MlrTimeout, ReRegDelay=ReRegDelay)
@@ -3256,7 +3263,7 @@ class OpenThreadTHCI(object):
@API @API
def setMLRtimeout(self, iMsecs): def setMLRtimeout(self, iMsecs):
"""Setup BBR MLR Timeout to `iMsecs` seconds.""" """Setup BBR MLR Timeout to `iMsecs` seconds."""
self.__configBbrDataset(MlrTimeout=iMsecs) self.setBbrDataset(MlrTimeout=iMsecs)
@API @API
def stopListeningToAddr(self, sAddr): def stopListeningToAddr(self, sAddr):