diff --git a/extensions/pppoe/scripts/apps/ipv6Apps/radvd.conf b/extensions/pppoe/scripts/apps/ipv6Apps/radvd.conf
new file mode 100755
index 0000000..ed660cc
--- /dev/null
+++ b/extensions/pppoe/scripts/apps/ipv6Apps/radvd.conf
@@ -0,0 +1,13 @@
+interface eth1 {
+        AdvSendAdvert on;
+
+        MinRtrAdvInterval 5;
+        MaxRtrAdvInterval 15;
+        AdvLinkMTU 1412;
+
+        prefix 2001:468:181:f100::/64 {
+                AdvOnLink on;
+                AdvAutonomous on;
+        };
+};
+
diff --git a/extensions/pppoe/scripts/apps/ipv6Apps/tayga.conf b/extensions/pppoe/scripts/apps/ipv6Apps/tayga.conf
new file mode 100755
index 0000000..c69fdda
--- /dev/null
+++ b/extensions/pppoe/scripts/apps/ipv6Apps/tayga.conf
@@ -0,0 +1,103 @@
+#
+# Sample configuration file for TAYGA 0.9.2
+#
+# Modify this to use your own addresses!!
+#
+
+#
+# TUN device that TAYGA will use to exchange IPv4 and IPv6 packets with the
+# kernel.  You may use any name you like, but `nat64' is recommended.
+#
+# This device may be created before starting the tayga daemon by running
+# `tayga --mktun`.  This allows routing and firewall rules to be set up prior
+# to commencement of packet translation.
+#
+# Mandatory.
+#
+tun-device nat64
+
+#
+# TAYGA's IPv4 address.  This is NOT your router's IPv4 address!  TAYGA
+# requires its own address because it acts as an IPv4 and IPv6 router, and
+# needs to be able to send ICMP messages.  TAYGA will also respond to ICMP
+# echo requests (ping) at this address.
+#
+# This address can safely be located inside the dynamic-pool prefix.
+#
+# Mandatory.
+#
+ipv4-addr 192.168.255.200
+
+#
+# TAYGA's IPv6 address.  This is NOT your router's IPv6 address!  TAYGA
+# requires its own address because it acts as an IPv4 and IPv6 router, and
+# needs to be able to send ICMP messages.  TAYGA will also respond to ICMP
+# echo requests (ping6) at this address.
+#
+# You can leave ipv6-addr unspecified and TAYGA will construct its IPv6
+# address using ipv4-addr and the NAT64 prefix.
+#
+# Optional if the NAT64 prefix is specified, otherwise mandatory.  It is also
+# mandatory if the NAT64 prefix is 64:ff9b::/96 and ipv4-addr is a private
+# (RFC1918) address.
+# 
+#ipv6-addr 2001:db8:1::2
+
+#
+# The NAT64 prefix.  The IPv4 address space is mapped into the IPv6 address
+# space by prepending this prefix to the IPv4 address.  Using a /96 prefix is
+# recommended in most situations, but all lengths specified in RFC 6052 are
+# supported.
+#
+# This must be a prefix selected from your organization's IPv6 address space
+# or the Well-Known Prefix 64:ff9b::/96.  Note that using the Well-Known
+# Prefix will prohibit IPv6 hosts from contacting IPv4 hosts that have private
+# (RFC1918) addresses, per RFC 6052.
+#
+# The NAT64 prefix need not be specified if all required address mappings are
+# listed in `map' directives.  (See below.)
+#
+# Optional.
+#
+#prefix 2001:db8:1:ffff::/96
+#prefix 64:ff9b::/96
+prefix 2000:ffff::/96
+
+#
+# Dynamic pool prefix.  IPv6 hosts which send traffic through TAYGA (and do
+# not correspond to a static map or an IPv4-translatable address in the NAT64
+# prefix) will be assigned an IPv4 address from the dynamic pool.  Dynamic
+# maps are valid for 124 minutes after the last matching packet is seen.
+#
+# If no unassigned addresses remain in the dynamic pool (or no dynamic pool is
+# configured), packets from unknown IPv6 hosts will be rejected with an ICMP
+# unreachable error.
+#
+# Optional.
+#
+dynamic-pool 192.168.255.0/24
+
+#
+# Persistent data storage directory.  The dynamic.map file, which saves the
+# dynamic maps that are created from dynamic-pool, is stored in this 
+# directory.  Omit if you do not need these maps to be persistent between
+# instances of TAYGA.
+#
+# Optional.
+#
+data-dir /var/db/tayga
+
+#
+# Establishes a single-host map.  If an IPv6 host should be consistently
+# reachable at a specific IPv4 address, the mapping can be specified in a
+# `map' directive.  (IPv6 hosts numbered with an IPv4-translatable address do
+# not need map directives.)
+#
+# IPv4 addresses specified in the `map' directive can safely be located inside
+# the dynamic-pool prefix.
+#
+# Optional.
+#
+#map 192.168.5.42 2001:db8:1:4444::1
+#map 192.168.5.43 2001:db8:1:4444::2
+#map 192.168.255.2 2001:db8:1:569::143
diff --git a/extensions/pppoe/scripts/apps/ipv6Apps/totd.conf b/extensions/pppoe/scripts/apps/ipv6Apps/totd.conf
new file mode 100755
index 0000000..a0b2eb4
--- /dev/null
+++ b/extensions/pppoe/scripts/apps/ipv6Apps/totd.conf
@@ -0,0 +1,24 @@
+; $Id: totd.conf.sample,v 1.9 2003/09/17 15:56:20 dillema Exp $
+; Totd sample configuration file
+; you can have multiple forwarders, totd will always prefer
+; forwarders listed early and only use forwarders listed later
+; if the first ones are unresponsive.
+forwarder 8.8.8.8
+; forwarder 172.30.10.3
+; forwarder 192.168.0.1 port 5000
+; forwarder 3ffe:ffff:fff:f::1234:1234 port 53
+; you can have multiple prefixes or even no prefixes at all
+; totd uses them in round-robin fashion
+; prefix 2001:468:181:f1ff::
+prefix 2000:ffff::
+; prefix 2001:468:181:f100::
+; the port totd listens on for incoming requests
+port 53
+; the pidfile to use (default: /var/run/totd.pid)
+; pidfile /var/run/totd5005.pid
+; interfaces totd listens on (UDP only for now and not on Linux)
+; If left out totd will only open wildcard sockets.
+; interfaces lo0 ep0 ex0 an0
+; 6to4 reverse lookup
+; stf
+
