mirror of
https://github.com/espressif/openthread.git
synced 2026-08-23 10:49:51 +00:00
[dua] implement Backbone query and answer (#5664)
This commit implements DUA features of Thread 1.2 DUA that involves sending and processing Backbone query and answer: - Extend address query to the Backbone Link - Send BB.qry for Thread address query - Send ADDR_ANS.ntf for BB.ans - DAD process - PBBR to send BB.qry on the Backbone link (3 times if not answered) - PBBR to receive and handle BB.qry and sends BB.ans - PBBR to receive BB.ans and sends ADDR_ERR.ntf if duplicated - PRO_BB.ntf - Send PRO_BB.ntf when DUA registration is updated - Handle PRO_BB.ntf - Add test_dua_dad.py to test the DAD process when it was successful or duplicated - Verify the normal DAD process - Verify Address Query can be extended to the Backbone link - Verify DAD duplicate is handled correctly - Verify PRO_BB.ntf for duplicated DUA is handled correctly
This commit is contained in:
@@ -748,7 +748,10 @@ class NodeImpl:
|
||||
self.send_command(cmd)
|
||||
self._expect('Done')
|
||||
|
||||
def set_dua_iid(self, iid):
|
||||
def set_dua_iid(self, iid: str):
|
||||
assert len(iid) == 16
|
||||
int(iid, 16)
|
||||
|
||||
cmd = 'dua iid {}'.format(iid)
|
||||
self.send_command(cmd)
|
||||
self._expect('Done')
|
||||
@@ -1941,6 +1944,11 @@ class NodeImpl:
|
||||
self.send_command(cmd)
|
||||
self._expect("Done")
|
||||
|
||||
def send_proactive_backbone_notification(self, target: str, mliid: str, ltt: int):
|
||||
cmd = f'fake /b/ba {target} {mliid} {ltt}'
|
||||
self.send_command(cmd)
|
||||
self._expect("Done")
|
||||
|
||||
|
||||
class Node(NodeImpl, OtCli):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user