[meshcop] use IEEE EUI-64 rather than Joiner ID on user input (#2311)

This commit is contained in:
Jonathan Hui
2017-11-07 09:41:46 -08:00
committed by GitHub
parent 27a30c7209
commit 74b3160f9d
40 changed files with 337 additions and 219 deletions
@@ -61,10 +61,10 @@ class Cert_8_1_01_Commissioning(unittest.TestCase):
self.assertEqual(self.nodes[COMMISSIONER].get_state(), 'leader')
self.nodes[COMMISSIONER].commissioner_start()
time.sleep(3)
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER].get_hashmacaddr(), 'openthread')
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER].get_eui64(), 'OPENTHREAD')
self.nodes[JOINER].interface_up()
self.nodes[JOINER].joiner_start('openthread')
self.nodes[JOINER].joiner_start('OPENTHREAD')
time.sleep(10)
self.assertEqual(self.nodes[JOINER].get_masterkey(), self.nodes[COMMISSIONER].get_masterkey())
@@ -61,10 +61,10 @@ class Cert_8_1_02_Commissioning(unittest.TestCase):
self.assertEqual(self.nodes[COMMISSIONER].get_state(), 'leader')
self.nodes[COMMISSIONER].commissioner_start()
time.sleep(3)
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER].get_hashmacaddr(), 'openthread')
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER].get_eui64(), 'OPENTHREAD')
self.nodes[JOINER].interface_up()
self.nodes[JOINER].joiner_start('daerhtnepo')
self.nodes[JOINER].joiner_start('DAERHTNEPO')
time.sleep(10)
self.assertNotEqual(self.nodes[JOINER].get_masterkey(), self.nodes[COMMISSIONER].get_masterkey())
@@ -71,15 +71,15 @@ class Cert_8_2_01_JoinerRouter(unittest.TestCase):
self.nodes[COMMISSIONER].commissioner_start()
time.sleep(5)
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER_ROUTER].get_hashmacaddr(), 'openthread')
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER].get_hashmacaddr(), 'openthread2')
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER_ROUTER].get_eui64(), 'OPENTHREAD')
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER].get_eui64(), 'OPENTHREAD2')
time.sleep(5)
self.nodes[COMMISSIONER].add_whitelist(self.nodes[JOINER_ROUTER].get_hashmacaddr())
self.nodes[COMMISSIONER].add_whitelist(self.nodes[JOINER_ROUTER].get_joiner_id())
self.nodes[JOINER_ROUTER].add_whitelist(self.nodes[COMMISSIONER].get_addr64())
self.nodes[JOINER_ROUTER].interface_up()
self.nodes[JOINER_ROUTER].joiner_start('openthread')
self.nodes[JOINER_ROUTER].joiner_start('OPENTHREAD')
time.sleep(10)
self.assertEqual(self.nodes[JOINER_ROUTER].get_masterkey(), self.nodes[COMMISSIONER].get_masterkey())
@@ -89,11 +89,11 @@ class Cert_8_2_01_JoinerRouter(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[JOINER_ROUTER].get_state(), 'router')
self.nodes[JOINER_ROUTER].add_whitelist(self.nodes[JOINER].get_hashmacaddr())
self.nodes[JOINER_ROUTER].add_whitelist(self.nodes[JOINER].get_joiner_id())
self.nodes[JOINER].add_whitelist(self.nodes[JOINER_ROUTER].get_addr64())
self.nodes[JOINER].interface_up()
self.nodes[JOINER].joiner_start('openthread2')
self.nodes[JOINER].joiner_start('OPENTHREAD2')
time.sleep(10)
self.assertEqual(self.nodes[JOINER].get_masterkey(), self.nodes[COMMISSIONER].get_masterkey())
@@ -71,15 +71,15 @@ class Cert_8_2_02_JoinerRouter(unittest.TestCase):
self.nodes[COMMISSIONER].commissioner_start()
time.sleep(5)
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER_ROUTER].get_hashmacaddr(), 'openthread')
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER].get_hashmacaddr(), 'openthread2')
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER_ROUTER].get_eui64(), 'OPENTHREAD')
self.nodes[COMMISSIONER].commissioner_add_joiner(self.nodes[JOINER].get_eui64(), 'OPENTHREAD2')
time.sleep(5)
self.nodes[COMMISSIONER].add_whitelist(self.nodes[JOINER_ROUTER].get_hashmacaddr())
self.nodes[COMMISSIONER].add_whitelist(self.nodes[JOINER_ROUTER].get_joiner_id())
self.nodes[JOINER_ROUTER].add_whitelist(self.nodes[COMMISSIONER].get_addr64())
self.nodes[JOINER_ROUTER].interface_up()
self.nodes[JOINER_ROUTER].joiner_start('openthread')
self.nodes[JOINER_ROUTER].joiner_start('OPENTHREAD')
time.sleep(10)
self.assertEqual(self.nodes[JOINER_ROUTER].get_masterkey(), self.nodes[COMMISSIONER].get_masterkey())
@@ -89,11 +89,11 @@ class Cert_8_2_02_JoinerRouter(unittest.TestCase):
time.sleep(5)
self.assertEqual(self.nodes[JOINER_ROUTER].get_state(), 'router')
self.nodes[JOINER_ROUTER].add_whitelist(self.nodes[JOINER].get_hashmacaddr())
self.nodes[JOINER_ROUTER].add_whitelist(self.nodes[JOINER].get_joiner_id())
self.nodes[JOINER].add_whitelist(self.nodes[JOINER_ROUTER].get_addr64())
self.nodes[JOINER].interface_up()
self.nodes[JOINER].joiner_start('2daerhtnepo')
self.nodes[JOINER].joiner_start('2DAERHTNEPO')
time.sleep(10)
self.assertNotEqual(self.nodes[JOINER].get_masterkey(), self.nodes[COMMISSIONER].get_masterkey())
+5 -2
View File
@@ -107,8 +107,11 @@ class Node:
def get_addr64(self):
return self.interface.get_addr64()
def get_hashmacaddr(self):
return self.interface.get_hashmacaddr()
def get_eui64(self):
return self.interface.get_eui64()
def get_joiner_id(self):
return self.interface.get_joiner_id()
def get_channel(self):
return self.interface.get_channel()
+11 -5
View File
@@ -100,8 +100,11 @@ class otApi:
def get_addr64(self):
return self.Api.otNodeGetAddr64(self.otNode).decode('utf-8')
def get_hashmacaddr(self):
return self.Api.otNodeGetHashMacAddress(self.otNode).decode('utf-8')
def get_eui64(self):
return self.Api.otNodeGetEui64(self.otNode).decode('utf-8')
def get_joiner_id(self):
return self.Api.otNodeGetJoinerId(self.otNode).decode('utf-8')
def get_channel(self):
return self.Api.otNodeGetChannel(self.otNode)
@@ -420,10 +423,13 @@ class otApi:
self.Api.otNodeGetAddr64.argtypes = [ctypes.c_void_p]
self.Api.otNodeGetAddr64.restype = ctypes.c_char_p
self.Api.otNodeGetHashMacAddress.argtypes = [ctypes.c_void_p]
self.Api.otNodeGetHashMacAddress.restype = ctypes.c_char_p
self.Api.otNodeGetEui64.argtypes = [ctypes.c_void_p]
self.Api.otNodeGetEui64.restype = ctypes.c_char_p
self.Api.otNodeGetJoinerId.argtypes = [ctypes.c_void_p]
self.Api.otNodeGetJoinerId.restype = ctypes.c_char_p
self.Api.otNodeSetChannel.argtypes = [ctypes.c_void_p,
ctypes.c_ubyte]
+11 -2
View File
@@ -201,8 +201,17 @@ class otCli:
self.pexpect.expect('Done')
return addr64
def get_hashmacaddr(self):
self.send_command('hashmacaddr')
def get_eui64(self):
self.send_command('eui64')
i = self.pexpect.expect('([0-9a-fA-F]{16})')
if i == 0:
addr64 = self.pexpect.match.groups()[0].decode("utf-8")
self.pexpect.expect('Done')
return addr64
def get_joiner_id(self):
self.send_command('joinerid')
i = self.pexpect.expect('([0-9a-fA-F]{16})')
if i == 0:
addr = self.pexpect.match.groups()[0].decode("utf-8")