nuttx/net
Zhe Weng a1a09f271f net/nat: Support Symmetric NAT
The symmetric NAT limits one external port to be used with only one peer ip:port.

Note:
1. To avoid using too much #ifdef, we're always passing peer_ip and peer_port as arguments, but won't use them under full cone NAT, let the compiler optimize them.
2. We need to find port binding without peer ip:port, so don't add peer ip:port into hash key.
3. Symmetric NAT needs to *select another external port if a port is used by any other NAT entry*, this behavior is exactly same as Full Cone NAT, so we don't need to change anything related to `ipv4_nat_port_inuse`.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-04-07 23:57:55 +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: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
devif udp: Add support for SO_TIMESTAMP 2023-11-18 03:10: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/netdev: Add netdev_iob_clone helper 2024-03-29 11:52:24 +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 Symmetric NAT 2024-04-07 23:57:55 +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 build: add initial cmake build system 2023-07-08 13:50:48 +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: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
udp net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
usrsock net: Fix max conn always one less than configured value 2024-04-07 10:42:56 -03:00
utils net/utils: Switch argument order of net_ipv6_pref2mask 2023-11-07 19:30:36 +08:00
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig docs/comments: add simple document and fix typo 2024-03-03 01:55:07 +08:00
Makefile Support fragmentation and reassembly 2023-01-17 14:01:37 +08:00
net_initialize.c