]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Update NAT64LSN implementation:
authorae <ae@FreeBSD.org>
Mon, 18 Mar 2019 12:59:08 +0000 (12:59 +0000)
committerae <ae@FreeBSD.org>
Mon, 18 Mar 2019 12:59:08 +0000 (12:59 +0000)
commitf13ac20eb611eb5180348866eb49327bf918f415
tree748b196f11600bfc50512ec595c8906e05581f4e
parentb9125f9ffc406a02e6053d2abb8d177597a22e66
Update NAT64LSN implementation:

o most of data structures and relations were modified to be able support
  large number of translation states. Now each supported protocol can
  use full ports range. Ports groups now are belongs to IPv4 alias
  addresses, not hosts. Each ports group can keep several states chunks.
  This is controlled with new `states_chunks` config option. States
  chunks allow to have several translation states for single alias address
  and port, but for different destination addresses.
o by default all hash tables now use jenkins hash.
o ConcurrencyKit and epoch(9) is used to make NAT64LSN lockless on fast path.
o one NAT64LSN instance now can be used to handle several IPv6 prefixes,
  special prefix "::" value should be used for this purpose when instance
  is created.
o due to modified internal data structures relations, the socket opcode
  that does states listing was changed.

Obtained from: Yandex LLC
MFC after: 1 month
Sponsored by: Yandex LLC
sbin/ipfw/ipfw.8
sbin/ipfw/ipfw2.h
sbin/ipfw/nat64lsn.c
sys/conf/files
sys/modules/ipfw_nat64/Makefile
sys/netinet6/ip_fw_nat64.h
sys/netpfil/ipfw/nat64/nat64lsn.c
sys/netpfil/ipfw/nat64/nat64lsn.h
sys/netpfil/ipfw/nat64/nat64lsn_control.c