[border agent] add UDP Proxy module for Thread commissioning #2717
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a UDP Proxy module in BorderAgent namespace to do Thread commissioning under NCP architecture.
This PR is one of sub-task to support Border Agent under NCP mode. The UDP Proxy will also be used to do Thread commisssioning under RCP architecture and repalce
OT_PLATFORM_UDP
.Based on the OT border agent state changes (HandleBorderAgentStateChange), the module simply starts/stops listening on an UDP ephemeral port and if starts, sets a mapping between OT border agent UDP port and the port on host. And then it does bidrectional UDP forwarding:
Dependencies::UdpForward
will be implemented as OT UDP forwarding to OT core.SendToPeer
will send a UDP packet to the remote peer using the local host port (that maps to OT border agent port) as the source port.The module hasn't been integrated with the application and put in use. This PR adds a unit test for the module.