This patch adds to ipfw_nat64 module NAT64 CLAT implementation as defined in RFC6877.
CLAT is customer-side translator that algorithmically translates 1:1 private IPv4 addresses to global IPv6 addresses, and vice versa. It can be used to provide access for IPv4 clients to IPv6 network. Together with PLAT translator (nat64lsn can be used for this purpose) CLAT can provide access for IPv4 host to IPv4 Internet via IPv6-only network.
[[ https://www.juniper.net/documentation/en_US/junos/topics/concept/nat-464xlat.html | 464XLAT Overview at juniper ]]
The another part of patch modifies existing NAT64LSN. This module is changed to be able support large number of states. Also, it moved to use CK and epoch(9).