13 desc="6to4 tunnel interface"
19 case ${stf_interface_ipv4addr} in
23 # assign IPv6 addr and interface route for 6to4 interface
24 stf_prefixlen=$((16+${stf_interface_ipv4plen:-0}))
27 set ${stf_interface_ipv4addr}
29 hexfrag1=`hexprint $(($1*256 + $2))`
30 hexfrag2=`hexprint $(($3*256 + $4))`
31 ipv4_in_hexformat="${hexfrag1}:${hexfrag2}"
32 case ${stf_interface_ipv6_ifid} in
33 [Aa][Uu][Tt][Oo] | '')
34 for i in ${ipv6_network_interfaces}; do
35 laddr=`network6_getladdr ${i}`
44 stf_interface_ipv6_ifid=`expr "${laddr}" : \
45 'fe80::\(.*\)%\(.*\)'`
46 case ${stf_interface_ipv6_ifid} in
48 stf_interface_ipv6_ifid=0:0:0:1
53 echo "Configuring 6to4 tunnel interface: stf0."
54 ifconfig stf0 create >/dev/null 2>&1
55 ifconfig stf0 inet6 2002:${ipv4_in_hexformat}:${stf_interface_ipv6_slaid:-0}:${stf_interface_ipv6_ifid} \
56 prefixlen ${stf_prefixlen}
57 check_startmsgs && /sbin/ifconfig stf0
59 # disallow packets to malicious 6to4 prefix
60 route add -inet6 2002:e000:: -prefixlen 20 ::1 -reject
61 route add -inet6 2002:7f00:: -prefixlen 24 ::1 -reject
62 route add -inet6 2002:0000:: -prefixlen 24 ::1 -reject
63 route add -inet6 2002:ff00:: -prefixlen 24 ::1 -reject
70 echo "Removing 6to4 tunnel interface: stf0."
72 route delete -inet6 2002:e000:: -prefixlen 20 ::1
73 route delete -inet6 2002:7f00:: -prefixlen 24 ::1
74 route delete -inet6 2002:0000:: -prefixlen 24 ::1
75 route delete -inet6 2002:ff00:: -prefixlen 24 ::1