mirror of
https://github.com/espressif/openthread.git
synced 2026-09-05 08:40:06 +00:00
Cli: update 'keysequence' to make keyswithguardtime configurable (#815)
* Cli: update 'keysequence' to make keyswithguardtime configurable
This commit is contained in:
@@ -45,11 +45,13 @@ class Cert_5_8_1_KeySynchronization(unittest.TestCase):
|
||||
self.nodes[LEADER].set_mode('rsdn')
|
||||
self.nodes[LEADER].add_whitelist(self.nodes[ED].get_addr64())
|
||||
self.nodes[LEADER].enable_whitelist()
|
||||
self.nodes[LEADER].set_key_switch_guardtime(0)
|
||||
|
||||
self.nodes[ED].set_panid(0xface)
|
||||
self.nodes[ED].set_mode('rsn')
|
||||
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||
self.nodes[ED].enable_whitelist()
|
||||
self.nodes[ED].set_key_switch_guardtime(0)
|
||||
|
||||
def tearDown(self):
|
||||
for node in list(self.nodes.values()):
|
||||
@@ -70,8 +72,8 @@ class Cert_5_8_1_KeySynchronization(unittest.TestCase):
|
||||
if 'ff:fe00' not in addr:
|
||||
self.assertTrue(self.nodes[ED].ping(addr))
|
||||
|
||||
key_sequence = self.nodes[ED].get_key_sequence()
|
||||
self.nodes[ED].set_key_sequence(key_sequence + 10)
|
||||
key_sequence_counter = self.nodes[ED].get_key_sequence_counter()
|
||||
self.nodes[ED].set_key_sequence_counter(key_sequence_counter + 10)
|
||||
|
||||
addrs = self.nodes[LEADER].get_addrs()
|
||||
for addr in addrs:
|
||||
|
||||
@@ -44,12 +44,14 @@ class Cert_5_8_2_KeyIncrement(unittest.TestCase):
|
||||
self.nodes[LEADER].set_panid(0xface)
|
||||
self.nodes[LEADER].set_mode('rsdn')
|
||||
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER].get_addr64())
|
||||
self.nodes[LEADER].set_key_switch_guardtime(0)
|
||||
self.nodes[LEADER].enable_whitelist()
|
||||
|
||||
self.nodes[ROUTER].set_panid(0xface)
|
||||
self.nodes[ROUTER].set_mode('rsdn')
|
||||
self.nodes[ROUTER].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||
self.nodes[ROUTER].enable_whitelist()
|
||||
self.nodes[ROUTER].set_key_switch_guardtime(0)
|
||||
self.nodes[ROUTER].set_router_selection_jitter(1)
|
||||
|
||||
def tearDown(self):
|
||||
@@ -69,8 +71,8 @@ class Cert_5_8_2_KeyIncrement(unittest.TestCase):
|
||||
for addr in addrs:
|
||||
self.assertTrue(self.nodes[LEADER].ping(addr))
|
||||
|
||||
key_sequence = self.nodes[LEADER].get_key_sequence()
|
||||
self.nodes[LEADER].set_key_sequence(key_sequence + 1)
|
||||
key_sequence_counter = self.nodes[LEADER].get_key_sequence_counter()
|
||||
self.nodes[LEADER].set_key_sequence_counter(key_sequence_counter + 1)
|
||||
|
||||
addrs = self.nodes[ROUTER].get_addrs()
|
||||
for addr in addrs:
|
||||
|
||||
@@ -45,12 +45,14 @@ class Cert_5_8_3_KeyIncrementRollOver(unittest.TestCase):
|
||||
self.nodes[LEADER].set_mode('rsdn')
|
||||
self.nodes[LEADER].add_whitelist(self.nodes[ROUTER].get_addr64())
|
||||
self.nodes[LEADER].enable_whitelist()
|
||||
self.nodes[LEADER].set_key_sequence(127)
|
||||
self.nodes[LEADER].set_key_switch_guardtime(0)
|
||||
self.nodes[LEADER].set_key_sequence_counter(127)
|
||||
|
||||
self.nodes[ROUTER].set_panid(0xface)
|
||||
self.nodes[ROUTER].set_mode('rsdn')
|
||||
self.nodes[ROUTER].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||
self.nodes[ROUTER].enable_whitelist()
|
||||
self.nodes[ROUTER].set_key_switch_guardtime(0)
|
||||
self.nodes[ROUTER].set_router_selection_jitter(1)
|
||||
|
||||
def tearDown(self):
|
||||
@@ -71,8 +73,8 @@ class Cert_5_8_3_KeyIncrementRollOver(unittest.TestCase):
|
||||
for addr in addrs:
|
||||
self.assertTrue(self.nodes[LEADER].ping(addr))
|
||||
|
||||
key_sequence = self.nodes[LEADER].get_key_sequence()
|
||||
self.nodes[LEADER].set_key_sequence(key_sequence + 1)
|
||||
key_sequence_counter = self.nodes[LEADER].get_key_sequence_counter()
|
||||
self.nodes[LEADER].set_key_sequence_counter(key_sequence_counter + 1)
|
||||
|
||||
addrs = self.nodes[ROUTER].get_addrs()
|
||||
for addr in addrs:
|
||||
|
||||
@@ -45,11 +45,13 @@ class Cert_6_6_1_KeyIncrement(unittest.TestCase):
|
||||
self.nodes[LEADER].set_mode('rsdn')
|
||||
self.nodes[LEADER].add_whitelist(self.nodes[ED].get_addr64())
|
||||
self.nodes[LEADER].enable_whitelist()
|
||||
self.nodes[LEADER].set_key_switch_guardtime(0)
|
||||
|
||||
self.nodes[ED].set_panid(0xface)
|
||||
self.nodes[ED].set_mode('rsn')
|
||||
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||
self.nodes[ED].enable_whitelist()
|
||||
self.nodes[ED].set_key_switch_guardtime(0)
|
||||
|
||||
def tearDown(self):
|
||||
for node in list(self.nodes.values()):
|
||||
@@ -68,8 +70,8 @@ class Cert_6_6_1_KeyIncrement(unittest.TestCase):
|
||||
for addr in addrs:
|
||||
self.assertTrue(self.nodes[LEADER].ping(addr))
|
||||
|
||||
key_sequence = self.nodes[LEADER].get_key_sequence()
|
||||
self.nodes[LEADER].set_key_sequence(key_sequence + 1)
|
||||
key_sequence_counter = self.nodes[LEADER].get_key_sequence_counter()
|
||||
self.nodes[LEADER].set_key_sequence_counter(key_sequence_counter + 1)
|
||||
|
||||
addrs = self.nodes[ED].get_addrs()
|
||||
for addr in addrs:
|
||||
|
||||
@@ -45,12 +45,14 @@ class Cert_6_6_2_KeyIncrement1(unittest.TestCase):
|
||||
self.nodes[LEADER].set_mode('rsdn')
|
||||
self.nodes[LEADER].add_whitelist(self.nodes[ED].get_addr64())
|
||||
self.nodes[LEADER].enable_whitelist()
|
||||
self.nodes[LEADER].set_key_sequence(127)
|
||||
self.nodes[LEADER].set_key_switch_guardtime(0)
|
||||
self.nodes[LEADER].set_key_sequence_counter(127)
|
||||
|
||||
self.nodes[ED].set_panid(0xface)
|
||||
self.nodes[ED].set_mode('rsn')
|
||||
self.nodes[ED].add_whitelist(self.nodes[LEADER].get_addr64())
|
||||
self.nodes[ED].enable_whitelist()
|
||||
self.nodes[ED].set_key_switch_guardtime(0)
|
||||
|
||||
def tearDown(self):
|
||||
for node in list(self.nodes.values()):
|
||||
@@ -70,8 +72,8 @@ class Cert_6_6_2_KeyIncrement1(unittest.TestCase):
|
||||
for addr in addrs:
|
||||
self.assertTrue(self.nodes[LEADER].ping(addr))
|
||||
|
||||
key_sequence = self.nodes[LEADER].get_key_sequence()
|
||||
self.nodes[LEADER].set_key_sequence(key_sequence + 1)
|
||||
key_sequence_counter = self.nodes[LEADER].get_key_sequence_counter()
|
||||
self.nodes[LEADER].set_key_sequence_counter(key_sequence_counter + 1)
|
||||
|
||||
addrs = self.nodes[ED].get_addrs()
|
||||
for addr in addrs:
|
||||
|
||||
@@ -241,16 +241,21 @@ class Node:
|
||||
self.send_command(cmd)
|
||||
self.pexpect.expect('Done')
|
||||
|
||||
def get_key_sequence(self):
|
||||
self.send_command('keysequence')
|
||||
def get_key_sequence_counter(self):
|
||||
self.send_command('keysequence counter')
|
||||
i = self.pexpect.expect('(\d+)\r\n')
|
||||
if i == 0:
|
||||
key_sequence = int(self.pexpect.match.groups()[0])
|
||||
key_sequence_counter = int(self.pexpect.match.groups()[0])
|
||||
self.pexpect.expect('Done')
|
||||
return key_sequence
|
||||
return key_sequence_counter
|
||||
|
||||
def set_key_sequence(self, key_sequence):
|
||||
cmd = 'keysequence %d' % key_sequence
|
||||
def set_key_sequence_counter(self, key_sequence_counter):
|
||||
cmd = 'keysequence counter %d' % key_sequence_counter
|
||||
self.send_command(cmd)
|
||||
self.pexpect.expect('Done')
|
||||
|
||||
def set_key_switch_guardtime(self, key_switch_guardtime):
|
||||
cmd = 'keysequence guardtime %d' % key_switch_guardtime
|
||||
self.send_command(cmd)
|
||||
self.pexpect.expect('Done')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user