[srp] update config for auto-start mode to be enabled by default (#9738)

Config `OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE` is
changed to use `1` by default (unless explicitly overridden in
project configs).

It also updates related test scripts to utilize auto-start mode or
explicitly disable it for manual SRP client control, reflecting this
default change.
This commit is contained in:
Abtin Keshavarzian
2024-01-10 10:37:03 -08:00
committed by GitHub
parent 36133b93c2
commit b28bb1d1e0
16 changed files with 27 additions and 39 deletions
@@ -74,6 +74,7 @@ class TestPlatUdpAccessibility(thread_cert.TestCase):
router.start()
self.simulator.go(config.ROUTER_STARTUP_DELAY)
self.assertEqual('router', router.get_state())
router.srp_client_stop()
# Router1 can ping to/from the Host on infra link.
self.assertTrue(router.ping(br.get_rloc()))
+1 -1
View File
@@ -1262,7 +1262,7 @@ class NodeImpl:
self._expect_done()
def srp_client_disable_auto_start_mode(self):
self.send_command(f'srp client autostart able')
self.send_command(f'srp client autostart disable')
self._expect_done()
def srp_client_get_server_address(self):
-4
View File
@@ -237,10 +237,6 @@ class TestDnssd(thread_cert.TestCase):
weight,
addrs,
subtypes=''):
client.netdata_show()
srp_server_port = client.get_srp_server_port()
client.srp_client_start(server.get_mleid(), srp_server_port)
client.srp_client_set_host_name(hostname)
client.srp_client_set_host_address(*addrs)
client.srp_client_add_service(instancename, SERVICE + subtypes, port, priority, weight)
@@ -86,10 +86,8 @@ class SrpAutoHostAddress(thread_cert.TestCase):
self.simulator.go(5)
#-------------------------------------------------------------------
# Enable auto start mode on SRP client
# Check auto start mode on SRP client
self.assertEqual(client.srp_client_get_state(), 'Disabled')
client.srp_client_enable_auto_start_mode()
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
self.simulator.go(2)
@@ -107,10 +107,8 @@ class SrpAutoStartMode(thread_cert.TestCase):
self.simulator.go(5)
#-------------------------------------------------------------------
# Enable auto start mode on client and check that server1 is selected
# Check auto start mode on client and check that server1 is selected
self.assertEqual(client.srp_client_get_state(), 'Disabled')
client.srp_client_enable_auto_start_mode()
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
self.simulator.go(2)
@@ -89,7 +89,6 @@ class SrpClientChangeLeaseTime(thread_cert.TestCase):
self.assertEqual(server.get_state(), 'leader')
self.simulator.go(5)
client.srp_server_set_enabled(False)
client.start()
self.simulator.go(config.ROUTER_STARTUP_DELAY)
self.assertEqual(client.get_state(), 'router')
@@ -98,9 +97,10 @@ class SrpClientChangeLeaseTime(thread_cert.TestCase):
# 1. Register a single service and verify that it works.
#
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
client.srp_client_set_host_name('my-host')
client.srp_client_set_host_address('2001::1')
client.srp_client_start(server.get_addrs()[0], client.get_srp_server_port())
client.srp_client_add_service('my-service', '_ipps._tcp', 12345)
self.simulator.go(2)
@@ -105,8 +105,6 @@ class SrpAutoStartMode(thread_cert.TestCase):
client.srp_client_set_host_address('2001::1')
client.srp_client_add_service('my-service', '_ipps._tcp', 12345)
self.assertEqual(client.srp_client_get_state(), 'Disabled')
client.srp_client_enable_auto_start_mode()
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
self.simulator.go(WAIT_TIME)
+4 -4
View File
@@ -83,7 +83,6 @@ class SrpRegisterSingleService(thread_cert.TestCase):
self.assertEqual(server.get_state(), 'leader')
self.simulator.go(5)
client.srp_server_set_enabled(False)
client.start()
self.simulator.go(config.ROUTER_STARTUP_DELAY)
self.assertEqual(client.get_state(), 'router')
@@ -92,9 +91,10 @@ class SrpRegisterSingleService(thread_cert.TestCase):
# 1. Register a single service and verify that it works.
#
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
client.srp_client_set_host_name('my-host')
client.srp_client_set_host_address('2001::1')
client.srp_client_start(server.get_addrs()[0], client.get_srp_server_port())
client.srp_client_add_service('my-service', '_ipps._tcp', 12345)
self.simulator.go(2)
@@ -113,7 +113,7 @@ class SrpRegisterSingleService(thread_cert.TestCase):
self.assertEqual(server.srp_server_get_service('my-service', '_ipps._tcp')['deleted'], 'true')
# Start the client again, the same service should be successfully registered.
client.srp_client_start(server.get_addrs()[0], client.get_srp_server_port())
client.srp_client_enable_auto_start_mode()
self.simulator.go(2)
self.check_host_and_service(server, client)
@@ -131,7 +131,7 @@ class SrpRegisterSingleService(thread_cert.TestCase):
self.assertEqual(len(server.srp_server_get_services()), 0)
# Start the client again, the same service should be successfully registered.
client.srp_client_start(server.get_addrs()[0], client.get_srp_server_port())
client.srp_client_enable_auto_start_mode()
self.simulator.go(2)
self.check_host_and_service(server, client)
@@ -101,9 +101,10 @@ class SrpNameConflicts(thread_cert.TestCase):
# 1. Register a single service and verify that it works.
#
self.assertEqual(client_1.srp_client_get_auto_start_mode(), 'Enabled')
client_1.srp_client_set_host_name('my-host-1')
client_1.srp_client_set_host_address('2001::1')
client_1.srp_client_start(server.get_addrs()[0], client_1.get_srp_server_port())
client_1.srp_client_add_service('my-service-1', '_ipps._tcp', 12345)
self.simulator.go(2)
@@ -139,9 +140,10 @@ class SrpNameConflicts(thread_cert.TestCase):
# 2. Register with the same host name from the second client and it should fail.
#
self.assertEqual(client_2.srp_client_get_auto_start_mode(), 'Enabled')
client_2.srp_client_set_host_name('my-host-1')
client_2.srp_client_set_host_address('2001::2')
client_2.srp_client_start(server.get_addrs()[0], client_2.get_srp_server_port())
client_2.srp_client_add_service('my-service-2', '_ipps._tcp', 12345)
self.simulator.go(2)
@@ -160,9 +162,9 @@ class SrpNameConflicts(thread_cert.TestCase):
# 3. Register with the same service name from the second client and it should fail.
#
client_2.srp_client_enable_auto_start_mode()
client_2.srp_client_set_host_name('my-host-2')
client_2.srp_client_set_host_address('2001::2')
client_2.srp_client_start(server.get_addrs()[0], client_2.get_srp_server_port())
client_2.srp_client_add_service('my-service-1', '_ipps._tcp', 12345)
self.simulator.go(2)
@@ -182,9 +184,9 @@ class SrpNameConflicts(thread_cert.TestCase):
# from the second client and it should pass.
#
client_2.srp_client_enable_auto_start_mode()
client_2.srp_client_set_host_name('my-host-2')
client_2.srp_client_set_host_address('2001::2')
client_2.srp_client_start(server.get_addrs()[0], client_2.get_srp_server_port())
client_2.srp_client_add_service('my-service-1', '_ipps2._tcp', 12345)
self.simulator.go(2)
@@ -209,9 +211,9 @@ class SrpNameConflicts(thread_cert.TestCase):
# 5. Register with different host & service instance name, it should succeed.
#
client_2.srp_client_enable_auto_start_mode()
client_2.srp_client_set_host_name('my-host-2')
client_2.srp_client_set_host_address('2001::2')
client_2.srp_client_start(server.get_addrs()[0], client_2.get_srp_server_port())
client_2.srp_client_add_service('my-service-2', '_ipps._tcp', 12345)
self.simulator.go(2)
@@ -241,9 +243,9 @@ class SrpNameConflicts(thread_cert.TestCase):
client_1.srp_client_remove_service('my-service-1', '_ipps._tcp')
self.simulator.go(2)
client_2.srp_client_enable_auto_start_mode()
client_2.srp_client_set_host_name('my-host-2')
client_2.srp_client_set_host_address('2001::2')
client_2.srp_client_start(server.get_addrs()[0], client_2.get_srp_server_port())
client_2.srp_client_add_service('my-service-1', '_ipps._tcp', 12345)
self.simulator.go(2)
@@ -284,10 +286,10 @@ class SrpNameConflicts(thread_cert.TestCase):
# Client 2 registers the same host & service instance name with Client 1.
client_2.srp_client_stop()
client_2.srp_client_enable_auto_start_mode()
client_2.srp_client_clear_host()
client_2.srp_client_set_host_name('my-host-1')
client_2.srp_client_set_host_address('2001::2')
client_2.srp_client_start(server.get_addrs()[0], client_2.get_srp_server_port())
client_2.srp_client_add_service('my-service-1', '_ipps._tcp', 12345)
self.simulator.go(2)
@@ -132,13 +132,11 @@ class SrpRegister500Services(thread_cert.TestCase):
for fed in feds():
self.assertEqual(fed.get_state(), 'child')
server_addr = server.get_rloc()
for clientid in CLIENT_IDS:
client = self.nodes[clientid]
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
client.srp_client_set_host_name(f'client{clientid}')
client.srp_client_set_host_address(f'2001::{clientid}')
client.srp_client_start(server_addr, client.get_srp_server_port())
for instanceid in INSTANCE_IDS:
client.srp_client_add_service(f'client{clientid}_{instanceid}', SERVICE_NAME, SERVICE_PORT)
@@ -89,9 +89,10 @@ class SrpRegisterSingleService(thread_cert.TestCase):
# 1. Register a single service and verify that it works.
#
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
client.srp_client_set_host_name('my-host')
client.srp_client_set_host_address('2001::1')
client.srp_client_start(server.get_addrs()[0], client.get_srp_server_port())
client.srp_client_add_service('my-service', '_ipps._tcp', 12345, 0, 0, ['abc', 'def=', 'xyz=XYZ'])
self.simulator.go(2)
@@ -84,11 +84,9 @@ class SrpServerRebootPort(thread_cert.TestCase):
self.assertEqual(server.get_state(), 'router')
#
# 1. Enable auto start mode on client and check that server is used.
# 1. Check auto start mode on client and check that server is used.
#
self.assertEqual(client.srp_client_get_state(), 'Disabled')
client.srp_client_enable_auto_start_mode()
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
self.simulator.go(2)
self.assertEqual(client.srp_client_get_state(), 'Enabled')
+2 -1
View File
@@ -85,9 +85,10 @@ class SrpTtl(thread_cert.TestCase):
self.simulator.go(config.ROUTER_STARTUP_DELAY)
self.assertEqual(client.get_state(), 'router')
self.assertEqual(client.srp_client_get_auto_start_mode(), 'Enabled')
client.srp_client_set_host_name('my-host')
client.srp_client_set_host_address('2001::1')
client.srp_client_start(server.get_addrs()[0], client.get_srp_server_port())
client.srp_client_add_service('my-service', '_ipps._tcp', 12345)
self.simulator.go(2)