nuttx/net
Zhe Weng f3b34c84c2 net/nat: Support IPv6 Masquerading (NAT66)
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>
2024-04-11 22:23:29 +08:00
..
arp Support to ARP Address Conflict Detection 2024-01-25 11:25:03 -03:00
bluetooth net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
can net/can: deliver data into multiple CAN conn bound to same dev 2024-04-09 00:25:44 +08:00
devif net/nat: Support IPv6 Masquerading (NAT66) 2024-04-11 22:23:29 +08:00
icmp net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
icmpv6 net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
ieee802154 net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
igmp igmp: call IFF_SET_IPv4 when igmp_send 2023-11-16 07:29:48 -08:00
inet net/udp: Support deliver multicast packets back to local apps 2024-03-29 11:52:24 +08:00
ipforward net/nat: Support IPv6 Masquerading (NAT66) 2024-04-11 22:23:29 +08:00
ipfrag net/ipfrag:Fixed ref not initializing warning issue 2023-07-26 08:36:04 -03:00
local net/local: Fix the wrong direction of threshold setting 2024-03-10 11:44:33 -03:00
mld net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
nat net/nat: Support IPv6 Masquerading (NAT66) 2024-04-11 22:23:29 +08:00
neighbor net/route: Support longest prefix match for routing 2024-01-09 05:58:10 -08:00
netdev net/netdev: Add netdev_iob_clone helper 2024-03-29 11:52:24 +08:00
netfilter net/nat: Make some IPv4 NAT functions as common 2024-04-11 22:23:29 +08:00
netlink net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
pkt net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
procfs Support to ARP Address Conflict Detection 2024-01-25 11:25:03 -03:00
route net/route: Support longest prefix match for routing 2024-01-09 05:58:10 -08:00
rpmsg rpmsg/Kconfig: add rpmsg_local_name to replace rptun_local_name 2024-02-18 04:09:34 -08:00
sixlowpan net: Support multiple IPv6 address per netdev 2023-11-07 19:30:36 +08:00
socket udp: Add support for SO_TIMESTAMP 2023-11-18 03:10:29 -08:00
tcp net/nat: Make some IPv4 NAT functions as common 2024-04-11 22:23:29 +08:00
udp net/nat: Make some IPv4 NAT functions as common 2024-04-11 22:23:29 +08:00
usrsock net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
utils net/utils: Add net_ipv6_payload to get IPv6 L4 payload 2024-04-11 22:23:29 +08:00
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig [tcp/udp] fix port generation not in range 2024-04-09 23:35:55 +08:00
Makefile Support fragmentation and reassembly 2023-01-17 14:01:37 +08:00
net_initialize.c net: Reoder the initialize sequence(mac->ip->tcp/udp) 2022-03-12 19:24:17 +02:00