a1a09f271f
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> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
ipv4_nat_entry.c | ||
ipv4_nat.c | ||
Kconfig | ||
Make.defs | ||
nat.h |