# 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 ipv4.google.com

# 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::
