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.
This commit is contained in:
ume 2001-06-19 19:27:51 +00:00
parent 79e3ccfb6f
commit ce5986e7e8
3 changed files with 61 additions and 0 deletions

View File

@ -265,6 +265,9 @@ stf_interface_ipv4plen="0" # Prefix length for 6to4 IPv4 addr,
stf_interface_ipv6_ifid="0:0:0:1" # IPv6 interface id for stf0.
# If you like, you can set "AUTO" for this.
stf_interface_ipv6_slaid="0000" # IPv6 Site Level Aggregator for stf0
ipv6_faith_prefix="NO" # Set faith prefix to enable a FAITH
# IPv6-to-IPv4 TCP translator. You also need
# faithd(8) setup.
ipv6_ipv4mapping="YES" # Leave empty to disable IPv4 mapped IPv6 addr
# communication. (like ::ffff:a.b.c.d)
ipv6_firewall_enable="NO" # Set to YES to enable IPv6 firewall

View File

@ -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

View File

@ -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