]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Modify struct nat64_config.
authorae <ae@FreeBSD.org>
Mon, 18 Mar 2019 10:39:14 +0000 (10:39 +0000)
committerae <ae@FreeBSD.org>
Mon, 18 Mar 2019 10:39:14 +0000 (10:39 +0000)
commit6b7a62da46a705e36d2e3db126131cf06262750c
treeb865918ae4f16eba9d81e93cab3c9112deb541a1
parentb24a98cb7ea88b59c90e29449588acb7839a747a
Modify struct nat64_config.

Add second IPv6 prefix to generic config structure and rename another
fields to conform to RFC6877. Now it contains two prefixes and length:
PLAT is provider-side translator that translates N:1 global IPv6 addresses
to global IPv4 addresses. CLAT is customer-side translator (XLAT) that
algorithmically translates 1:1 IPv4 addresses to global IPv6 addresses.
Use PLAT prefix in stateless (nat64stl) and stateful (nat64lsn)
translators.

Modify nat64_extract_ip4() and nat64_embed_ip4() functions to accept
prefix length and use plat_plen to specify prefix length.

Retire net.inet.ip.fw.nat64_allow_private sysctl variable.
Add NAT64_ALLOW_PRIVATE flag and use "allow_private" config option to
configure this ability separately for each NAT64 instance.

Obtained from: Yandex LLC
MFC after: 1 month
Sponsored by: Yandex LLC
16 files changed:
sbin/ipfw/ipfw.8
sbin/ipfw/ipfw2.h
sbin/ipfw/nat64lsn.c
sbin/ipfw/nat64stl.c
sys/netinet6/ip_fw_nat64.h
sys/netpfil/ipfw/ip_fw_pfil.c
sys/netpfil/ipfw/nat64/ip_fw_nat64.c
sys/netpfil/ipfw/nat64/ip_fw_nat64.h
sys/netpfil/ipfw/nat64/nat64_translate.c
sys/netpfil/ipfw/nat64/nat64_translate.h
sys/netpfil/ipfw/nat64/nat64lsn.c
sys/netpfil/ipfw/nat64/nat64lsn.h
sys/netpfil/ipfw/nat64/nat64lsn_control.c
sys/netpfil/ipfw/nat64/nat64stl.c
sys/netpfil/ipfw/nat64/nat64stl.h
sys/netpfil/ipfw/nat64/nat64stl_control.c