Table of Contents
This is a stand-alone, user mode application that implements a dual-stack lite (DS-lite) Address Family Transition Router (AFTR, aka. carrier-grade NAT) as described in draft-ietf-softwire-dual-stack-lite-02.txt. It is expected to work on operating systems that support the tun (4) device, and has been tested on Linux and FreeBSD.
The primary purpose of this implementation is to provide a proof of concept of the specification. While it is implemented to be reasonably scalable with regard to the number NAT connections and the number of IPv4/IPv6 tunnels, it is generally not expected to be used in a production environment. Likewise, configuration and management flexibility are limited.
OS: Linux or FreeBSD. Linux kernel version must be greater than
2.6.26, to correct a small-packet-drop problem in
tunnel46_rcv()
.
CPU: Shouldn't matter, but we have only tested it with the Intel architecture. Either 32 or 64 bit CPU should be okay. Note that a 32 bit usermode app can run on a 64 bit kernel.
Memory: No special requirement for the purpose of proof of concept with a small number of client hosts. Note the connection tracking of netfilter is known to be memory greedy (i.e., more than 16GB system is recommended for production).
Processor speed: No special requirement for the purpose of proof of
concept with a few number of client hosts. Note the performance
is bound to the kernel/user context switch latency, so a
benchmarking program (bench.c
,
start
and stop
) is
provided;
this sends 1M pings to 192.168.0.4 from 10.0.0.1 through tun0
(*please* change these addresses in the code).