diff options
author | ume <ume@FreeBSD.org> | 2001-06-19 19:27:51 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2001-06-19 19:27:51 +0000 |
commit | ce5986e7e88ddfd3d3c7c6c406bc76906d5a4c03 (patch) | |
tree | 69737cab08c9d81f4ed281696a57a9deade6f868 /etc/rc.d | |
parent | 79e3ccfb6fb0f878e1abe6b73852e74b2479c9a4 (diff) | |
download | FreeBSD-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.d')
-rw-r--r-- | etc/rc.d/network_ipv6 | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/etc/rc.d/network_ipv6 b/etc/rc.d/network_ipv6 index a46194f..aa8d6a2 100644 --- a/etc/rc.d/network_ipv6 +++ b/etc/rc.d/network_ipv6 @@ -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 |