summaryrefslogtreecommitdiffstats
path: root/etc/rc.network6
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2001-06-19 19:27:51 +0000
committerume <ume@FreeBSD.org>2001-06-19 19:27:51 +0000
commitce5986e7e88ddfd3d3c7c6c406bc76906d5a4c03 (patch)
tree69737cab08c9d81f4ed281696a57a9deade6f868 /etc/rc.network6
parent79e3ccfb6fb0f878e1abe6b73852e74b2479c9a4 (diff)
downloadFreeBSD-src-ce5986e7e88ddfd3d3c7c6c406bc76906d5a4c03.zip
FreeBSD-src-ce5986e7e88ddfd3d3c7c6c406bc76906d5a4c03.tar.gz
Add configuration for a FAITH IPv6-to-IPv4 TCP translator.
To use a FAITH actually, you also need faithd(8) setup. Please consult faithd(8) manpage.
Diffstat (limited to 'etc/rc.network6')
-rw-r--r--etc/rc.network629
1 files changed, 29 insertions, 0 deletions
diff --git a/etc/rc.network6 b/etc/rc.network6
index a46194f..aa8d6a2 100644
--- a/etc/rc.network6
+++ b/etc/rc.network6
@@ -161,6 +161,9 @@ network6_pass1() {
# setup static routes
network6_static_routes_setup
+ # setup faith
+ network6_faith_setup
+
case ${ipv6_gateway_enable} in
[Yy][Ee][Ss])
# ipv6_router
@@ -389,6 +392,32 @@ network6_static_routes_setup() {
esac
}
+network6_faith_setup() {
+ case ${ipv6_faith_prefix} in
+ [Nn][Oo] | '')
+ ;;
+ *)
+ sysctl -w net.inet6.ip6.keepfaith=1
+ ifconfig faith0 up
+ for prefix in ${ipv6_faith_prefix}; do
+ prefixlen=`expr "${prefix}" : ".*/\(.*\)"`
+ case ${prefixlen} in
+ '')
+ prefixlen=96
+ ;;
+ *)
+ prefix=`expr "${prefix}" : \
+ "\(.*\)/${prefixlen}"`
+ ;;
+ esac
+ route add -inet6 ${prefix} -prefixlen ${prefixlen} ::1
+ route change -inet6 ${prefix} -prefixlen ${prefixlen} \
+ -ifp faith0
+ done
+ ;;
+ esac
+}
+
network6_default_interface_setup() {
# Choose IPv6 default interface if it is not clearly specified.
case ${ipv6_default_interface} in
OpenPOWER on IntegriCloud