dtcpc
implements Dynamic Tunnel Configuration Protocol
(DTCP for short) proposed by Trumpet. dtcpc
will first
ask the DTCP password to the user. Then, the program will try to connect DTCP
server on server, to IPv4 TCP port 20200 (or port
specified by port), login as DTCP client, and maintain
IPv6 over IPv4 tunnel connection.
The spec defines several kind of tunnel requests.
dtcpc
will request tunnel typed
tuntype to the DTCP server. The default value for
tuntype is
“tunnelonly
”. For tunnel types, please
refer to
dtcps(8).
By default, dtcpc
dynamically creates
gif
as tunnelling device on such platform as
interface cloning is available. You can disable use of interface cloning by
using -c
. When -o
is
specified, dtcpc
creates an interface dynamically
but don't destroy it at exit. On the platform where interface cloning is not
available, dtcpc
will use
gif0
as tunnelling device. This can be altered by
using -i
.
If -U
is specified, an IPv6 over an
UDP/IPv4 tunnel is created instead of generic tunnel. An UDP port is
specified by -b
, and its default is
“4028”. An IPv6 over an UDP/IPv4 tunnel requires
Netgraph
. (Experimental)
-r
specifies how the default route is
configured. If “static
” is specified
as routecommand, dtcpc
uses
the
route(8)
command to install the default route towards the corresponding tunnel
interface. This is the default behavior. If
“solicit
” is specified,
dtcpc
will call the
rtsol(8)
command to send router solicitation messages toward the other end of the
tunnel.
By default, when routecommand is
“static
”, the default route is
configured. But, in some situation, you may want to install the specific
routes instead of the default route towards the corresponding tunnel
interface. You can specify the destination with -R
destination. The destination is
an acceptable form by
route(8),
like as “3ffe:505:2:: -prefixlen 48
”.
If you are running recent FreeBSD, it can be simplifed by
“3ffe:505:2::/48
”. The
destination may be comma separated list.
-u
is needed when DTCP user account is
different from the login name on the host.
When -A
address is
specified, address is added to the corresponding
tunnel interface. The address is a acceptable form by
ifconfig(8),
like as “3ffe:505:2:ffff::1 -prefixlen
128
”. It may help some situation. The
address may be comma separated list.
-n
may save the user lives behind NAT that
maps private IPv4 address to global IPv4 address.
dtcpc
can be configured to do
prefix-delegation. When -P
prefix-delegation is specified,
dtcpc
initialize the LAN interfaces. The format of
prefix-delegation is a comma separated list of the
interface, SLA-id, host-id and prefixlen. And the interface, SLA-id, host-id
and prefixlen should be written as a slant separated list such as
“fxp0/1/0:0:0:1”. If you omit host-id, EUI-64 address is
assumed to be used. If you omit prefixlen, 64 is assumed.
When prefix-delegation is enabled and
rtadvd(8)
is not running, dtcpc
invokes
rtadvd(8)
appropriately. You can disable this behvior by specifying
-a
.
When -D
is specified,
dtcpc
becomes daemon.
By default, when connection to the server is closed,
dtcpc
will exit. -l
is
specified, dtcpc
doesn't exit on connection close,
and continuously tries to re-connect.
If dtcpc
is invoked as daemon, the process
ID of the dtcpc
are held in
/var/run/dtcpc.pid by default. You may want to
specify -f
file to change the
file name.
When -m
mtu is
specified, set the MTU of the tunnel to mtu. The
default is “1280”.
-d
puts dtcpc
to
debug mode.
Upon receipt of signal SIGHUP
,
dtcpc
will try to reconnect to the DTCP server.