mirror of
https://github.com/espressif/openthread.git
synced 2026-08-03 17:37:46 +00:00
[thread-cert] use the same mesh local prefix as Thread harness (#4089)
This commit is contained in:
@@ -38,7 +38,7 @@ LEADER = 1
|
||||
ROUTER = 16
|
||||
DUT_REED = 17
|
||||
ED = 18
|
||||
MESH_LOCAL_PREFIX = 'fdde:ad00:beef:0:'
|
||||
MESH_LOCAL_PREFIX = 'fd00:db8:'
|
||||
ROUTING_LOCATOR = ':0:ff:fe00'
|
||||
REED_ADVERTISEMENT_INTERVAL = 570
|
||||
REED_ADVERTISEMENT_MAX_JITTER = 60
|
||||
@@ -166,7 +166,7 @@ class Cert_5_2_4_REEDUpgrade(unittest.TestCase):
|
||||
# Leader.
|
||||
mleid = None
|
||||
for addr in self.nodes[LEADER].get_addrs():
|
||||
if (addr.find(MESH_LOCAL_PREFIX) != -1 and
|
||||
if (addr.startswith(MESH_LOCAL_PREFIX) and
|
||||
addr.find(ROUTING_LOCATOR) == -1):
|
||||
mleid = addr
|
||||
break
|
||||
|
||||
@@ -86,7 +86,7 @@ class Cert_5_3_11_AddressQueryTimeoutIntervals(unittest.TestCase):
|
||||
|
||||
# 2 MED1: MED1 sends an ICMPv6 Echo Request to a non-existent
|
||||
# mesh-local address X
|
||||
X = "fdde:ad00:beef:0000:aa55:aa55:aa55:aa55"
|
||||
X = "fd00:db8:0000:0000:aa55:aa55:aa55:aa55"
|
||||
self.assertFalse(self.nodes[MED1].ping(X))
|
||||
|
||||
self.simulator.go(config.AQ_TIMEOUT)
|
||||
|
||||
@@ -93,10 +93,11 @@ class Cert_5_3_2_RealmLocal(unittest.TestCase):
|
||||
size=256))
|
||||
self.assertTrue(self.nodes[LEADER].ping('ff03::1', num_responses=2))
|
||||
|
||||
self.assertTrue(self.nodes[LEADER].ping(
|
||||
'ff33:0040:fdde:ad00:beef:0:0:1', num_responses=2, size=256))
|
||||
self.assertTrue(self.nodes[LEADER].ping(
|
||||
'ff33:0040:fdde:ad00:beef:0:0:1', num_responses=2))
|
||||
self.assertTrue(self.nodes[LEADER].ping('ff33:0040:fd00:db8:0:0:0:1',
|
||||
num_responses=2,
|
||||
size=256))
|
||||
self.assertTrue(self.nodes[LEADER].ping('ff33:0040:fd00:db8:0:0:0:1',
|
||||
num_responses=2))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -113,7 +113,7 @@ class Cert_9_2_13_EnergyScan(unittest.TestCase):
|
||||
self.nodes[COMMISSIONER].energy_scan(0x50000, 0x02, 0x20, 0x3E8, ipaddr)
|
||||
|
||||
self.nodes[COMMISSIONER].energy_scan(0x50000, 0x02, 0x20, 0x3E8,
|
||||
'ff33:0040:fdde:ad00:beef:0:0:1')
|
||||
'ff33:0040:fd00:db8:0:0:0:1')
|
||||
|
||||
self.assertTrue(self.nodes[COMMISSIONER].ping(ipaddr))
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ class Cert_9_2_14_PanIdQuery(unittest.TestCase):
|
||||
self.nodes[COMMISSIONER].panid_query(0xdead, 0xffffffff, ipaddr)
|
||||
|
||||
self.nodes[COMMISSIONER].panid_query(0xdead, 0xffffffff,
|
||||
'ff33:0040:fdde:ad00:beef:0:0:1')
|
||||
'ff33:0040:fd00:db8:0:0:0:1')
|
||||
|
||||
self.assertTrue(self.nodes[COMMISSIONER].ping(ipaddr))
|
||||
|
||||
|
||||
@@ -43,22 +43,24 @@ import network_layer
|
||||
import simulator
|
||||
import sniffer
|
||||
|
||||
MESH_LOCAL_PREFIX = 'fdde:ad00:beef::/64'
|
||||
MESH_LOCAL_PREFIX_REGEX_PATTERN = '^fdde:ad00:beef:(0){0,4}:'
|
||||
# This extended address will generate the MESH_LOCAL_PREFIX
|
||||
EXTENDED_PANID = '000db80000000000'
|
||||
MESH_LOCAL_PREFIX = 'fd00:db8::/64'
|
||||
MESH_LOCAL_PREFIX_REGEX_PATTERN = '^fd00:0?db8:0{0,4}:0{0,4}'
|
||||
ROUTING_LOCATOR = '64/:0:ff:fe00:/16'
|
||||
ROUTING_LOCATOR_REGEX_PATTERN = r'.*:(0)?:0{0,2}ff:fe00:\w{1,4}$'
|
||||
LINK_LOCAL = 'fe80:/112'
|
||||
LINK_LOCAL_REGEX_PATTERN = '^fe80:.*'
|
||||
ALOC_FLAG_REGEX_PATTERN = '.*:fc..$'
|
||||
LINK_LOCAL_All_THREAD_NODES_MULTICAST_ADDRESS = 'ff32:40:fdde:ad00:beef:0:0:1'
|
||||
REALM_LOCAL_All_THREAD_NODES_MULTICAST_ADDRESS = 'ff33:40:fdde:ad00:beef:0:0:1'
|
||||
LINK_LOCAL_All_THREAD_NODES_MULTICAST_ADDRESS = 'ff32:40:fd00:db8:0:0:0:1'
|
||||
REALM_LOCAL_All_THREAD_NODES_MULTICAST_ADDRESS = 'ff33:40:fd00:db8:0:0:0:1'
|
||||
REALM_LOCAL_ALL_ROUTERS_ADDRESS = 'ff03::2'
|
||||
LINK_LOCAL_ALL_NODES_ADDRESS = 'ff02::1'
|
||||
LINK_LOCAL_ALL_ROUTERS_ADDRESS = 'ff02::2'
|
||||
|
||||
DOMAIN_PREFIX = 'fd00:7d03:7d03:7d03::/64'
|
||||
ALL_DOMAIN_BBRS_ADDRESS = 'ff32:40:fd00:7d03:7d03:7d03:0:3'
|
||||
ALL_NETWORK_BBRS_ADDRESS = 'ff32:40:fdde:ad00:beef:0:0:3'
|
||||
ALL_NETWORK_BBRS_ADDRESS = 'ff32:40:fd00:db8:0:0:0:3'
|
||||
|
||||
DEFAULT_MASTER_KEY = bytearray([
|
||||
0x00,
|
||||
|
||||
@@ -80,6 +80,8 @@ class Node:
|
||||
|
||||
self._initialized = True
|
||||
|
||||
self.set_extpanid(config.EXTENDED_PANID)
|
||||
|
||||
def __init_sim(self, nodeid, mode):
|
||||
""" Initialize a simulation node. """
|
||||
|
||||
@@ -549,6 +551,10 @@ class Node:
|
||||
self.send_command('eui64')
|
||||
return self._expect_result('[0-9a-fA-F]{16}')
|
||||
|
||||
def set_extpanid(self, extpanid):
|
||||
self.send_command('extpanid %s' % extpanid)
|
||||
self._expect('Done')
|
||||
|
||||
def get_joiner_id(self):
|
||||
self.send_command('joiner id')
|
||||
return self._expect_result('[0-9a-fA-F]{16}')
|
||||
@@ -1009,6 +1015,11 @@ class Node:
|
||||
self.send_command(cmd)
|
||||
self._expect('Done')
|
||||
|
||||
# Set the meshlocal prefix in config.py
|
||||
self.send_command('dataset meshlocalprefix %s' %
|
||||
config.MESH_LOCAL_PREFIX.split('/')[0])
|
||||
self._expect('Done')
|
||||
|
||||
self.send_command('dataset commit active')
|
||||
self._expect('Done')
|
||||
|
||||
@@ -1038,6 +1049,11 @@ class Node:
|
||||
self.send_command(cmd)
|
||||
self._expect('Done')
|
||||
|
||||
# Set the meshlocal prefix in config.py
|
||||
self.send_command('dataset meshlocalprefix %s' %
|
||||
config.MESH_LOCAL_PREFIX.split('/')[0])
|
||||
self._expect('Done')
|
||||
|
||||
self.send_command('dataset commit pending')
|
||||
self._expect('Done')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user