f3b34c84c2
Notes: 1. This version of NAT66 is a stateful one like NAT44, corresponding to Linux's MASQUERADE target of ip6tables. We can support stateless NAT66 & NPTv6 later by slightly modify the address & port selection logic (maybe just match the rules and skip the entry find). 2. We're using same flag `IFF_NAT` for both NAT44 & NAT66 to make control easier. Which means, if we enable NAT, both NAT44 & NAT66 will be enabled. If we don't want one of them, we can just disable that one in Kconfig. 3. Maybe we can accelerate the checksum adjustment by pre-calculate a difference of checksum, and apply it to each packet, instead of calling `net_chksum_adjust` each time. Just a thought, maybe do it later. 4. IP fragment segments on NAT66 connections are not supported yet. Signed-off-by: Zhe Weng <wengzhe@xiaomi.com> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
devif_callback.c | ||
devif_filesend.c | ||
devif_forward.c | ||
devif_initialize.c | ||
devif_iobsend.c | ||
devif_loopback.c | ||
devif_poll.c | ||
devif_send.c | ||
devif.h | ||
ipv4_input.c | ||
ipv6_input.c | ||
Make.defs |