Chapter 1. INTRODUCTION

Table of Contents

System Requirements

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.

System Requirements

  • 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).