[dua] remove OPENTHREAD_CONFIG_DUA_ENABLE build feature (#13165)

This commit completely removes the local Domain Unicast Address (DUA)
registration feature flag (OPENTHREAD_CONFIG_DUA_ENABLE) and all of
its associated implementation, public APIs, CLI commands, Spinel
property handlers, and certification tests.

Thread 1.2 FTD Border Router/Router DUA proxying features for MTD
children (OPENTHREAD_CONFIG_TMF_PROXY_DUA_ENABLE) are preserved and
updated to only compile/instantiate components when proxy DUA
features are active.

Detailed Changes:
- Remove default definition of OPENTHREAD_CONFIG_DUA_ENABLE from
  misc.h.
- Remove OT_DUA and openthread_config_dua_enable from CMake/GN
  configs.
- Remove otThreadSetFixedDuaInterfaceIdentifier and
  otThreadGetFixedDuaInterfaceIdentifier from
  include/openthread/thread.h
  and implementation src/core/api/thread_api.cpp.
- Remove CLI DUA interpreter from src/cli/cli.cpp.
- Remove SPINEL_CAP_DUA capability and SPINEL_PROP_THREAD_DUA_ID
  Spinel property handlers and dispatchers from NCP.
- Strip local DUA management features (conflict checking, SLAAC DUA
  interface identifiers, and dad info settings) from DuaManager, MLE,
  Address Resolver, and settings.
- Clean up Notifier, TimeTicker, and TMF dispatcher guards.
- Clean up -DOT_DUA=ON compilation flags across build/test scripts.
- Delete obsolete DUA certification tests:
  - v1_2_test_domain_unicast_address
  - v1_2_test_domain_unicast_address_registration
  - v1_2_test_dua_handle_address_error
This commit is contained in:
Jonathan Hui
2026-06-01 15:16:19 -07:00
committed by GitHub
parent 675162556b
commit 136bdb6e2a
36 changed files with 25 additions and 1601 deletions
@@ -20,7 +20,6 @@ ot_build:
- "-DOPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS=8"
options:
- "-DOT_REFERENCE_DEVICE=ON"
- "-DOT_DUA=ON"
- "-DOT_MLR=ON"
- "-DOT_COMMISSIONER=ON"
- "-DOT_JOINER=ON"
@@ -35,7 +34,6 @@ ot_build:
- "-DOPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS=8"
options:
- "-DOT_REFERENCE_DEVICE=ON"
- "-DOT_DUA=ON"
- "-DOT_MLR=ON"
- "-DOT_COMMISSIONER=ON"
- "-DOT_JOINER=ON"
@@ -57,7 +55,6 @@ ot_build:
- OT_COMMISSIONER=1
options:
- "-DOTBR_DUA_ROUTING=ON"
- "-DOT_DUA=ON"
- "-DOT_MLR=ON"
rcp_subpath: build/ot12/simulation
rcp_options:
@@ -76,7 +73,6 @@ ot_build:
- EXTERNAL_COMMISSIONER=1
options:
- "-DOTBR_DUA_ROUTING=ON"
- "-DOT_DUA=ON"
- "-DOT_MLR=ON"
rcp_subpath: build/ot13/simulation
rcp_options:
-17
View File
@@ -2594,23 +2594,6 @@ class OTCI(object):
"""Set the Thread Domain Name for Thread 1.2 device."""
self.execute_command(f'domainname {self.__escape_escapable(name)}')
def get_dua_iid(self) -> str:
"""Get the DUA IID for Thread 1.2 device."""
raw_iid = self.execute_command('dua iid')
if raw_iid:
return self.__parse_iid(raw_iid)
else:
return ''
def set_dua_iid(self, iid: str):
"""Set the DUA IID for Thread 1.2 device."""
self.__validate_iid(iid)
self.execute_command(f'dua iid {iid}')
def clear_dua_iid(self):
"""Clear the DUA IID for Thread 1.2 device."""
self.execute_command('dua iid clear')
# TODO: mlr reg <ipaddr> ... [timeout]
#
-4
View File
@@ -135,10 +135,6 @@ class TestOTCI(unittest.TestCase):
self.assertEqual('fd00:dba::/64', leader.get_mesh_local_prefix())
leader.set_mesh_local_prefix(TEST_MESH_LOCAL_PREFIX + '/64')
leader.set_ml_iid('b1a5ed57a71571c5')
leader.set_dua_iid('ad4a011dad4a011d')
self.assertEqual('ad4a011dad4a011d', leader.get_dua_iid())
leader.clear_dua_iid()
self.assertEqual('', leader.get_dua_iid())
self.assertFalse(leader.get_ifconfig_state())
# ifconfig up