summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorhubertf <hubertf@pkgsrc.org>2001-02-11 05:24:29 +0000
committerhubertf <hubertf@pkgsrc.org>2001-02-11 05:24:29 +0000
commit2c31f7bf0dac860200ec1d3a53c32e32cf21831c (patch)
tree62cd9d3dc064edbfdc39ad9c1db03ab9a454e4b9 /net
parentb8c1d01a31328126c44c2e472f9ed28b43fa984c (diff)
downloadpkgsrc-2c31f7bf0dac860200ec1d3a53c32e32cf21831c.tar.gz
Add 6to4-1.0, a script to setup automatic 6to4 IPv6 tunneling.
For easy IPv6 connectivity, do: * make install * cd /usr/pkg/etc * cp 6to4.conf-example 6to4.conf * in 6to4.conf, change "out_if" to match your outgoing interface: ppp0 if you're on a modem, else your ethernet card's interface. * 6to4 -v start * ping6 www.kame.net
Diffstat (limited to 'net')
-rw-r--r--net/6to4/Makefile38
-rwxr-xr-xnet/6to4/files/6to4148
-rw-r--r--net/6to4/files/6to4.8166
-rw-r--r--net/6to4/files/6to4.conf17
-rw-r--r--net/6to4/files/6to4.html210
-rw-r--r--net/6to4/pkg/COMMENT1
-rw-r--r--net/6to4/pkg/DEINSTALL20
-rw-r--r--net/6to4/pkg/DESCR8
-rw-r--r--net/6to4/pkg/MESSAGE3
-rw-r--r--net/6to4/pkg/PLIST5
10 files changed, 616 insertions, 0 deletions
diff --git a/net/6to4/Makefile b/net/6to4/Makefile
new file mode 100644
index 00000000000..cab91db14ce
--- /dev/null
+++ b/net/6to4/Makefile
@@ -0,0 +1,38 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/02/11 05:24:29 hubertf Exp $
+#
+
+DISTNAME= 6to4-1.0
+CATEGORIES= net
+MASTER_SITES= # empty
+DISTFILES= # empty
+
+MAINTAINER= hubertf@netbsd.org
+HOMEPAGE= http://www.netbsd.org/packages/net/6to4/files/6to4.html
+
+USE_PERL5= YES
+DEINSTALL_FILE= ${WRKDIR}/DEINSTALL
+
+EXTRACT_ONLY= # empty
+NO_WRKSUBDIR= yes
+NO_CHECKSUM= yes
+NO_PATCH= yes
+NO_CONFIGURE= yes
+
+do-build:
+.for FILE in 6to4
+ ${SED} -e 's|@PREFIX@|${PREFIX}|g' \
+ -e 's|@LOCALBASE@|${LOCALBASE}|g' \
+ < ${FILESDIR}/${FILE} \
+ > ${WRKSRC}/${FILE}
+.endfor
+ ${SED} \
+ -e 's,@PREFIX@,${PREFIX},' \
+ <${PKGDIR}/DEINSTALL >${DEINSTALL_FILE}
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/6to4 ${PREFIX}/sbin/6to4
+ ${INSTALL_MAN} ${FILESDIR}/6to4.8 ${PREFIX}/man/man8
+ ${INSTALL_DATA} ${FILESDIR}/6to4.conf ${PREFIX}/etc/6to4.conf-example
+ ${INSTALL_DATA} ${FILESDIR}/6to4.html ${PREFIX}/share/doc/6to4.html
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/6to4/files/6to4 b/net/6to4/files/6to4
new file mode 100755
index 00000000000..4c4e5157777
--- /dev/null
+++ b/net/6to4/files/6to4
@@ -0,0 +1,148 @@
+#!@LOCALBASE@/bin/perl
+#
+# Setup 6to4 IPv6, for NetBSD (and maybe others)
+#
+# (c) Copyright 2000 Hubert Feyrer <hubert@feyrer.de>
+#
+
+#$etcdir="@PREFIX@/etc";
+$etcdir="/usr/pkg/etc";
+
+require "$etcdir/6to4.conf";
+
+use Getopt::Std;
+
+###########################################################################
+sub run
+{
+ local($str) = @_;
+
+ if ($not) {
+ print "$str\n";
+ } else {
+ if ($verbose) {
+ print "$str\n";
+ }
+ system($str);
+ }
+}
+
+###########################################################################
+
+#
+# Process options
+#
+getopts('nvh');
+
+$not = 1 if $opt_n;
+$verbose = 1 if $opt_v;
+
+if ($opt_h) {
+ print "Usage: $0 [-n] [-v] {start | stop | rtadvd-start | rtadvd-stop}\n";
+ exit 0;
+}
+
+#
+# Some sanity checks
+#
+if (`ifconfig -a | grep fe80: | wc -l` <= 0 or
+ `ifconfig -a | grep stf | wc -l` <= 0) {
+ die "$0: It seems your kernel does not support IPv6 or 6to4 (stf).\n".
+ "Add 'options INET6' and 'pseudo-device stf 1' to your kernel and retry!\n";
+}
+
+#
+# Figure out IP#s etc.
+#
+$localadr4 = `ifconfig $out_if inet | grep inet`;
+$localadr4 =~ s/^.*inet\s*//;
+$localadr4 =~ s/\s.*$//;
+chomp($localadr4);
+
+@l4c = split('\.', $localadr4);
+$prefix = sprintf("2002:%02x%02x:%02x%02x", @l4c[0..3]);
+
+$localadr6 = sprintf("$prefix:%04x", $v6_net);
+
+chomp($remoteadr4 = `host $peer`);
+$remoteadr4 =~ s/^.*address //;
+
+chomp($remoteadr6 = `host -t AAAA $peer`);
+$remoteadr6 =~ s/^.*address //;
+
+
+if ($verbose) {
+ print "remote v4 address: $remoteadr4\n";
+ print "local v4 address: $localadr4\n";
+ print "remote v6 address: $remoteadr6\n";
+ print "local v6 address: $localadr6:$hostbits6\n";
+ print "\n";
+}
+
+
+#
+# Handle commands
+#
+
+# stop:
+if ( $ARGV[0] eq "stop" ) {
+ run("ifconfig stf0 down");
+ $cmd="ifconfig stf0 inet6 " .
+ "| grep inet6 " .
+ "| sed -e 's/inet6//' " .
+ "-e 's/prefix.*//g' " .
+ "-e 's/^[ ]*//' " .
+ "-e 's/[ ]*\$//'";
+ foreach $ip ( split('\s+', `$cmd`)) {
+ run("ifconfig stf0 inet6 -alias $ip");
+ }
+ run("route delete -inet6 default");
+}
+
+# start:
+if ( $ARGV[0] eq "start" ) {
+ run("ifconfig stf0 inet6 $localadr6:$hostbits6 prefixlen $v6_prefixlen alias");
+ run("route add -inet6 default $remoteadr6");
+ if ($in_if ne "") {
+ run("ifconfig $in_if inet6 $prefix:$v6_innernet:$hostbits6");
+ }
+}
+
+# rtadvd-stop:
+if ($ARGV[0] eq "rtadvd-stop" or $ARGV[0] eq "stop-rtadvd") {
+ if ( -f "/var/run/rtadvd.pid" ) {
+ $pid = `cat /var/run/rtadvd.pid`;
+ run ("kill -TERM $pid");
+ run ("rm -f /var/run/rtadvd.pid");
+ run ("rm -f /var/run/6to4-rtadvd.conf.$pid");
+ } else {
+ print "no rtadvd running!\n";
+ }
+}
+
+# rtadvd-start:
+# Write config file for rtadvd to /tmp and start rtadvd:
+if ($ARGV[0] eq "rtadvd-start" or $ARGV[0] eq "start-rtadvd" ) {
+ if ( -f "/var/run/rtadvd.pid" ) {
+ print "rtadvd already running!\n";
+ } else {
+ $tmpname="/var/run/rtadvd.conf-6to4.$$";
+
+ print "cat >$tmpname <<EOF\n";
+ print "$in_if\\\n";
+ print "\t:addrs#1:addr=\"${prefix}:${v6_innernet}::\":prefixlen#64:tc=ether:\n";
+ print "EOF\n";
+
+ open(RC, ">$tmpname") || die "Can't write to ";
+ print RC "$in_if\\\n";
+ print RC "\t:addrs#1:addr=\"${prefix}:${v6_innernet}::\":prefixlen#64:tc=ether:\n";
+ close(RC);
+
+ run("rtadvd -c $tmpname $in_if");
+ run("sysctl -w net.inet6.ip6.forwarding=1");
+
+ print "\n";
+ print "XXX on your Clients, run:\n";
+ print "XXX route add -inet6 default $prefix:$v6_innernet:$hostbits6\n";
+ }
+}
diff --git a/net/6to4/files/6to4.8 b/net/6to4/files/6to4.8
new file mode 100644
index 00000000000..d58794ab16a
--- /dev/null
+++ b/net/6to4/files/6to4.8
@@ -0,0 +1,166 @@
+.\" $NetBSD: 6to4.8,v 1.1.1.1 2001/02/11 05:24:29 hubertf Exp $
+.Dd February 11, 2001
+.Dt 6to4 8
+.Os
+.Sh NAME
+.Nm 6to4
+.Nd setup automatic 6to4 IPv6 tunnelling
+.Sh SYNOPSIS
+.Nm
+.Op Fl vn
+.Ar command
+.Sh DESCRIPTION
+The
+.Nm
+script can be used to setup IPv6 on your home machine and
+network for exploring IPv6 without any registrations. 6to4 is a
+mechanism by which your IPv6 address(es) are derived from an assigned
+IPv4 address, and which involves automatic tunnelling to one or more
+remove 6to4 hubs, which will then forward your v6 packets on the 6bone
+etc. Replies are routed back to you over IPv4 via (possibly) other
+6to4 capable remote gateways. As such, IPv6-in-IPv4-encapsulated
+packets are accepted from all v4-hosts.
+.Pp
+From your (single) IPv4 address, you get a whole IPv6 /48 network,
+which allows you to split your network in 2^16 subnets, with 2^64
+hosts each. You need to setup routing for your internal network
+properly, help is provided for setting up the border router here.
+.Pp
+This script takes the burden to calculate your IPv6 address from
+existing IPv4 address and runs the commands to setup (and tear down)
+automatic 6to4 IPv6 tunnelling. In a seperate step, router
+advertisement for the inside network can be started and stopped.
+.Pp
+Possible options are:
+.Bl -tag -width xxx
+.It Fl n
+Do not. Only print the commands that would be run, but do not execute
+them.
+.It Fl v
+Verbose operation. Print the commands that are about to be run, before
+running them. Displays some additional information.
+.It Fl h
+Show usage.
+.El
+.Pp
+Possible commands are:
+.Bl -tag -width rtadvd-start
+.It Sy start
+Configure 6to4 IPv6. The
+.Xr stf 4
+interface is configured, and a default route to a remote 6to4
+gateway is established. In addition, the internal
+network interface is assigned an address.
+.It Sy stop
+Stops 6to4 IPv6. All addresses are removed from the
+.Xr stf 4
+device, and the default route is removed.
+.It Sy rtadvd-start
+Starts router advertizement and IPv6 packet forwarding,
+turning the machine into a IPv6 router.
+.Xr rtadvd 8
+is invoked with a custom config file created under
+.Pa /var/run .
+Clients need to be told to use the router as
+default (IPv6) router, e.g. by adding a static route.
+Follow the on-screen instructions to do so.
+.It Sy rtadvd-stop
+Stops router advertizement and IPv6 packet forwarding.
+.Xr rtadvd 8
+is stopped, and the
+.Xr rtadvd.conf 5
+config file is removed from
+.Pa /var/run .
+.El
+.Sh REQUIREMENTS
+Besides IPv4 connectivity, you need support for IPv6 and the
+.Xr stf 4
+device in your kernel. While the GENERIC NetBSD 1.5 kernel does
+support IPv6, it does not contain support for the
+.Xr stf 4
+device.
+.Pp
+Make sure you have the following options in your kernel config file:
+.Bd -literal -offset
+options INET # IP + ICMP + TCP + UDP
+options INET6 # IPV6
+pseudo-device stf 1 # 6to4 IPv6 over IPv4 encapsulation
+.Ed
+.Pp
+No special values are needed in
+.Pa /etc/rc.conf .
+.Sh CONFIGURATION
+The
+.Nm
+script reads it's configuration from a config file named
+.Pa 6to4.conf.
+The
+.Pa 6to4.conf
+file is in
+.Xr perl 1
+syntax, and contains several
+variables that can be tuned to adjust your setup. Default values
+should work for use on a modem dialup.
+.Bl -tag -width rtadvd-stop
+.It Sy out_if
+The outbound interface that has a valid IPv4 address
+assigned, that can be used to derive the IPv6
+addresses from. Usually
+.Dq ppp0
+for a modem setup, or your ethernet interface if you have
+IPv4 connectivity via LAN. This
+can't be empty, and is assigned the IPv6 address
+2002:x:x:v6_net:hostbits6, see below.
+.It Sy in_if
+The inside interface. If non-empty, this interface is
+assigned the IPv6 address
+2002:x:x:v6_innernet:hostbits6, see below.
+This is only useful on machines that
+have more than one network interfaces, e.g. with a modem and a
+local ethernet.
+.It Sy v6_net
+The subnet address you want to use on the address of
+your outbound interface. Defaults to
+.Dq 1 .
+.It Sy v6_innernet
+The subnet address you want to use on the address of
+your inbound interface. Defaults to
+.Dq 2 .
+.It Sy hostbits6
+The lower 64 bits of both the inbound and outbound interface's
+addresses.
+.It Sy peer
+Name of the remote 6to4 server that'll take our
+IPv6-in-IPv4 encapsulated packets and route them on
+via IPv6. Several possible values are given in the
+example config file.
+.El
+.Sh EXAMPLE USAGE
+The
+.Nm
+script can be run automatically by
+.Xr pppd 8
+when a connection is made. For this, put the following into
+.Pa /etc/ppp/ip-up :
+.Bd -literal -offset
+( /usr/pkg/sbin/6to4 stop
+ /usr/pkg/sbin/6to4 start ) &
+.Ed
+.Pp
+To shut down properly, put this into
+.Pa /etc/ppp/ip-down :
+.Bd -literal -offset
+/usr/pkg/sbin/6to4 stop
+.Ed
+.Sh SEE ALSO
+.Xr stf 4 ,
+.Dq 6to4 IPv6 Explained
+at
+.Pa http://www.feyrer.de/NetBSD/6to4.html ,
+NetBSD IPv6 Documentation at
+.Pa http://www.netbsd.org/Documentation/network/ipv6/ .
+.Sh HISTORY
+The
+.Nm
+utility and manpage were writte by
+Hubert Feyrer <hubert@feyrer.de>.
diff --git a/net/6to4/files/6to4.conf b/net/6to4/files/6to4.conf
new file mode 100644
index 00000000000..9d527752d15
--- /dev/null
+++ b/net/6to4/files/6to4.conf
@@ -0,0 +1,17 @@
+# 6to4.conf
+#
+
+$out_if="ppp0"; # Our outgoing (uplink) interface
+$in_if=""; # Inside (ethernet) interface
+
+$v6_net="1"; # 2002:x:x:v6_net::
+$v6_innernet="2"; # 2002:x:x:v6_innernet::
+$v6_prefixlen=16; # Change for more
+$hostbits6=":1"; # should be determined via MAC of $in_if
+
+# Possible remote 6to4 routers:
+$peer="6to4.ipv6.fh-regensburg.de"; # Germany, Europe
+#$peer="asterix.ipv6.bt.com"; # Great Britain, Europe
+#$peer="6to4.kfu.com"; # USA, West coast
+#$peer="6to4.ipv6.microsoft.com"; # USA, West coast
+#$peer="ipv6-router.cisco.com"; # USA, West coast; register at http://www.cisco.com/ipv6/
diff --git a/net/6to4/files/6to4.html b/net/6to4/files/6to4.html
new file mode 100644
index 00000000000..16654733ba0
--- /dev/null
+++ b/net/6to4/files/6to4.html
@@ -0,0 +1,210 @@
+<html>
+<head>
+ <title>
+ February 11, 2001 6to4 8
+
+ </title>
+ <style type="text/css">
+ <!--
+ body { margin-left:4%; }
+ H1 { color: maroon; padding: 4pt; margin-left: -4% }
+ H2 { color: maroon; padding: 4pt; margin-left: -4% }
+ H3 { color: maroon; padding: 4pt; margin-left: -4% }
+ H4 { color: maroon; padding: 4pt; margin-left: -4% }
+ H5 { color: maroon; padding: 4pt; margin-left: -4% }
+ -->
+ </style>
+</head>
+<body bgcolor="#FFFFFF" text="#000000">
+ <h3>
+ NAME
+ </h3>
+<b>6to4</b>
+- setup automatic 6to4 IPv6 tunnelling
+ <h3>
+ SYNOPSIS
+ </h3>
+<b>6to4</b>
+[<b></b><b>-vn</b>]
+<i></i><i>command</i>
+ <h3>
+ DESCRIPTION
+ </h3>
+The
+<b>6to4</b>
+script can be used to setup IPv6 on your home machine and
+network for exploring IPv6 without any registrations. 6to4 is a
+mechanism by which your IPv6 address(es) are derived from an assigned
+IPv4 address, and which involves automatic tunnelling to one or more
+remove 6to4 hubs, which will then forward your v6 packets on the 6bone
+etc. Replies are routed back to you over IPv4 via (possibly) other
+6to4 capable remote gateways. As such, IPv6-in-IPv4-encapsulated
+packets are accepted from all v4-hosts.
+ <p>
+From your (single) IPv4 address, you get a whole IPv6 /48 network,
+which allows you to split your network in 2^16 subnets, with 2^64
+hosts each. You need to setup routing for your internal network
+properly, help is provided for setting up the border router here.
+ <p>
+This script takes the burden to calculate your IPv6 address from
+existing IPv4 address and runs the commands to setup (and tear down)
+automatic 6to4 IPv6 tunnelling. In a seperate step, router
+advertisement for the inside network can be started and stopped.
+ <p>
+Possible options are:
+<dl compact>
+<p><dt><b></b><b>-n</b><dd>
+Do not. Only print the commands that would be run, but do not execute
+them.
+<p><dt><b></b><b>-v</b><dd>
+Verbose operation. Print the commands that are about to be run, before
+running them. Displays some additional information.
+<p><dt><b></b><b>-h</b><dd>
+Show usage.
+</dl>
+ <p>
+Possible commands are:
+<dl compact>
+<p><dt><b></b><b>start</b><dd>
+Configure 6to4 IPv6. The
+<code>stf(4)</code>
+interface is configured, and a default route to a remote 6to4
+gateway is established. In addition, the internal
+network interface is assigned an address.
+<p><dt><b></b><b>stop</b><dd>
+Stops 6to4 IPv6. All addresses are removed from the
+<code>stf(4)</code>
+device, and the default route is removed.
+<p><dt><b></b><b>rtadvd-start</b><dd>
+Starts router advertizement and IPv6 packet forwarding,
+turning the machine into a IPv6 router.
+<code>rtadvd(8)</code>
+is invoked with a custom config file created under
+<code></code><code>/var/run</code>.
+Clients need to be told to use the router as
+default (IPv6) router, e.g. by adding a static route.
+Follow the on-screen instructions to do so.
+<p><dt><b></b><b>rtadvd-stop</b><dd>
+Stops router advertizement and IPv6 packet forwarding.
+<code>rtadvd(8)</code>
+is stopped, and the
+<code>rtadvd.conf(5)</code>
+config file is removed from
+<code></code><code>/var/run</code>.
+</dl>
+ <h3>
+ REQUIREMENTS
+ </h3>
+Besides IPv4 connectivity, you need support for IPv6 and the
+<code>stf(4)</code>
+device in your kernel. While the GENERIC NetBSD 1.5 kernel does
+support IPv6, it does not contain support for the
+<code>stf(4)</code>
+device.
+ <p>
+Make sure you have the following options in your kernel config file:
+<dl compact><dt><dd>
+<code>
+<pre>
+options INET # IP + ICMP + TCP + UDP
+options INET6 # IPV6
+pseudo-device stf 1 # 6to4 IPv6 over IPv4 encapsulation
+</pre>
+</code>
+</dl>
+ <p>
+No special values are needed in
+<code></code><code>/etc/rc.conf</code>.
+ <h3>
+ CONFIGURATION
+ </h3>
+The
+<b>6to4</b>
+script reads it's configuration from a config file named
+<code></code><code>6to4.conf.</code>
+The
+<code></code><code>6to4.conf</code>
+file is in
+<code>perl(1)</code>
+syntax, and contains several
+variables that can be tuned to adjust your setup. Default values
+should work for use on a modem dialup.
+<dl compact>
+<p><dt><b></b><b>out_if</b><dd>
+The outbound interface that has a valid IPv4 address
+assigned, that can be used to derive the IPv6
+addresses from. Usually
+``ppp0''
+for a modem setup, or your ethernet interface if you have
+IPv4 connectivity via LAN. This
+can't be empty, and is assigned the IPv6 address
+2002:x:x:v6_net:hostbits6, see below.
+<p><dt><b></b><b>in_if</b><dd>
+The inside interface. If non-empty, this interface is
+assigned the IPv6 address
+2002:x:x:v6_innernet:hostbits6, see below.
+This is only useful on machines that
+have more than one network interfaces, e.g. with a modem and a
+local ethernet.
+<p><dt><b></b><b>v6_net</b><dd>
+The subnet address you want to use on the address of
+your outbound interface. Defaults to
+``1''.
+<p><dt><b></b><b>v6_innernet</b><dd>
+The subnet address you want to use on the address of
+your inbound interface. Defaults to
+``2''.
+<p><dt><b></b><b>hostbits6</b><dd>
+The lower 64 bits of both the inbound and outbound interface's
+addresses.
+<p><dt><b></b><b>peer</b><dd>
+Name of the remote 6to4 server that'll take our
+IPv6-in-IPv4 encapsulated packets and route them on
+via IPv6. Several possible values are given in the
+example config file.
+</dl>
+ <h3>
+ EXAMPLE USAGE
+ </h3>
+The
+<b>6to4</b>
+script can be run automatically by
+<code>pppd(8)</code>
+when a connection is made. For this, put the following into
+<code></code><code>/etc/ppp/ip-up</code>:
+<dl compact><dt><dd>
+<code>
+<pre>
+( /usr/pkg/sbin/6to4 stop
+ /usr/pkg/sbin/6to4 start ) &
+</pre>
+</code>
+</dl>
+ <p>
+To shut down properly, put this into
+<code></code><code>/etc/ppp/ip-down</code>:
+<dl compact><dt><dd>
+<code>
+<pre>
+/usr/pkg/sbin/6to4 stop
+</pre>
+</code>
+</dl>
+ <h3>
+ SEE ALSO
+ </h3>
+<code>stf(4)</code>,
+``6to4 IPv6 Explained''
+at
+<code></code><code>http://www.feyrer.de/NetBSD/6to4.html</code>,
+NetBSD IPv6 Documentation at
+<code></code><code>http://www.netbsd.org/Documentation/network/ipv6/</code>.
+ <h3>
+ HISTORY
+ </h3>
+The
+<b>6to4</b>
+utility and manpage were writte by
+Hubert Feyrer <hubert@feyrer.de>.
+</font></body>
+</html>
diff --git a/net/6to4/pkg/COMMENT b/net/6to4/pkg/COMMENT
new file mode 100644
index 00000000000..a2c05c0d515
--- /dev/null
+++ b/net/6to4/pkg/COMMENT
@@ -0,0 +1 @@
+Enables 6to4 IPv6 automatic tunnels
diff --git a/net/6to4/pkg/DEINSTALL b/net/6to4/pkg/DEINSTALL
new file mode 100644
index 00000000000..7d573d8b752
--- /dev/null
+++ b/net/6to4/pkg/DEINSTALL
@@ -0,0 +1,20 @@
+#! /bin/sh
+#
+# $NetBSD: DEINSTALL,v 1.1.1.1 2001/02/11 05:24:29 hubertf Exp $
+#
+
+case "$2" in
+ DEINSTALL)
+ if [ -f @PREFIX@/etc/6to4.conf ]; then
+ cat <<EOF
+
+=============================================================
+Note that the 6to4 configuration file (@PREFIX@/etc/6to4.conf)
+was not removed in the deinstallation process. You should
+remove it by hand, if you no longer need it.
+=============================================================
+
+EOF
+ fi
+ ;;
+esac
diff --git a/net/6to4/pkg/DESCR b/net/6to4/pkg/DESCR
new file mode 100644
index 00000000000..d8c12b1204f
--- /dev/null
+++ b/net/6to4/pkg/DESCR
@@ -0,0 +1,8 @@
+The 6to4 script can be used to setup IPv6 on your home machine and net-
+work for exploring IPv6 without any registrations. 6to4 is a mechanism by
+which your IPv6 address(es) are derived from an assigned IPv4 address,
+and which involves automatic tunnelling to one or more remove 6to4 hubs,
+which will then forward your v6 packets on the 6bone etc. Replies are
+routed back to you over IPv4 via (possibly) other 6to4 capable remote
+gateways. As such, IPv6-in-IPv4-encapsulated packets are accepted from
+all v4-hosts.
diff --git a/net/6to4/pkg/MESSAGE b/net/6to4/pkg/MESSAGE
new file mode 100644
index 00000000000..efca2e26942
--- /dev/null
+++ b/net/6to4/pkg/MESSAGE
@@ -0,0 +1,3 @@
+To configure this package, adjust ${PREFIX}/etc/6to4.conf from
+${PREFIX}/etc/6to4.conf-example, then start "6to4 -v start".
+You should be able to "ping6 www.kame.net" after that.
diff --git a/net/6to4/pkg/PLIST b/net/6to4/pkg/PLIST
new file mode 100644
index 00000000000..ed5c8278973
--- /dev/null
+++ b/net/6to4/pkg/PLIST
@@ -0,0 +1,5 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/02/11 05:24:29 hubertf Exp $
+sbin/6to4
+etc/6to4.conf-example
+share/doc/6to4.html
+man/man8/6to4.8