[nat64] implement nat64 translator (ot::Nat64::Translator) (#7836)

This commit:

- implements the core logic for translating packets for NAT64,
  including the public APIs exposed to platform daemons.

- includes changes for POSIX platform, use `OT_POSIX_NAT64_CIDR`,
  `OPENTHREAD_POSIX_CONFIG_NAT64_CIDR` for setting the CIDR for NAT64
  during build time.

- exposes `otNat64Send(otInstance *aInstance, otMessage *aMessage)`
  and `void otNat64SetReceiveIp4Callback(otInstance *aInstance,
  otNat64ReceiveIp4Callback aCallback, void *aContext)`.
This commit is contained in:
Song GUO
2022-08-18 22:28:26 -07:00
committed by GitHub
parent 20aee3fa70
commit e84f05c641
32 changed files with 1343 additions and 22 deletions
+1
View File
@@ -38,6 +38,7 @@ readonly OT_BUILD_OPTIONS=(
"-DOT_BORDER_ROUTER=ON"
"-DOT_BORDER_ROUTING=ON"
"-DOT_BORDER_ROUTING_NAT64=ON"
"-DOT_NAT64_TRANSLATOR=ON"
"-DOT_COAP=ON"
"-DOT_COAP_BLOCK=ON"
"-DOT_COAP_OBSERVE=ON"
+2
View File
@@ -95,6 +95,8 @@ build_all_features()
local options_1_3=(
"-DOPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE=1"
"-DOPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE=1"
"-DOPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE=1"
"-DOPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE=1"
"-DOPENTHREAD_CONFIG_DUA_ENABLE=1"
"-DOPENTHREAD_CONFIG_MLR_ENABLE=1"
+2
View File
@@ -57,6 +57,8 @@ build_all_features()
local options=(
"-DOT_BACKBONE_ROUTER=ON"
"-DOT_BORDER_ROUTING=ON"
"-DOT_BORDER_ROUTING_NAT64=ON"
"-DOT_NAT64_TRANSLATOR=ON"
"-DOT_CSL_RECEIVER=ON"
"-DOT_MLR=ON"
"-DOT_OTNS=ON"
+1
View File
@@ -84,6 +84,7 @@ readonly OT_CLANG_TIDY_BUILD_OPTS=(
'-DOT_BORDER_ROUTER=ON'
'-DOT_BORDER_ROUTING=ON'
'-DOT_BORDER_ROUTING_NAT64=ON'
'-DOT_NAT64_TRANSLATOR=ON'
'-DOT_CHANNEL_MANAGER=ON'
'-DOT_CHANNEL_MONITOR=ON'
'-DOT_CHILD_SUPERVISION=ON'