# host ID to use as the source of CLAT traffic
# this is a /128 taken out of the /64 routed to the phone
ipv6_host_id ::464

# ipv4 subnet for the local traffic to use.  This is a /32 host address
ipv4_local_subnet 192.0.0.4

# ipv6 extra link local address for the ip6 iface.
ipv6_local_address fe80::c000:0004

# get the plat_subnet from dns lookups (requires DNS64)
plat_from_dns64 yes
# hostname to use to lookup plat subnet. must contain only A records
plat_from_dns64_hostname ipv4only.arpa

# plat subnet to send ipv4 traffic to. This is a /96 subnet.
# This setting only makes sense with: plat_from_dns64 no
#plat_subnet 2001:db8:1:2:3:4::
