X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=package%2Fnetwork%2Fipv6%2F6to4%2Ffiles%2F6to4.sh;fp=package%2Fnetwork%2Fipv6%2F6to4%2Ffiles%2F6to4.sh;h=2a9b26292c6698cc8d476c292fb7dccff2ee9d3f;hb=acce962483a6faf1e916718f0811d7e5498d0c22;hp=6f2fbd840cca39469228efe1a3c02712a541e3d7;hpb=e29326de6c448dce964285e79c7bfc2bfa9a5a4f;p=openwrt.git diff --git a/package/network/ipv6/6to4/files/6to4.sh b/package/network/ipv6/6to4/files/6to4.sh index 6f2fbd840c..2a9b26292c 100755 --- a/package/network/ipv6/6to4/files/6to4.sh +++ b/package/network/ipv6/6to4/files/6to4.sh @@ -34,8 +34,8 @@ proto_6to4_setup() { local iface="$2" local link="6to4-$cfg" - local mtu ttl ipaddr - json_get_vars mtu ttl ipaddr + local mtu ttl ipaddr sourcerouting + json_get_vars mtu ttl ipaddr sourcerouting ( proto_add_host_dependency "$cfg" 0.0.0.0 ) @@ -64,7 +64,14 @@ proto_6to4_setup() { proto_init_update "$link" 1 proto_add_ipv6_address "$local6" 16 proto_add_ipv6_prefix "$prefix6::/48" - proto_add_ipv6_route "::" 0 "::192.88.99.1" + + if [ "$sourcerouting" != "0" ]; then + proto_add_ipv6_route "::" 0 "::192.88.99.1" "" "" "::/128" + proto_add_ipv6_route "::" 0 "::192.88.99.1" "" "" "$local6/16" + proto_add_ipv6_route "::" 0 "::192.88.99.1" "" "" "$prefix6::/48" + else + proto_add_ipv6_route "::" 0 "::192.88.99.1" + fi proto_add_tunnel json_add_string mode sit @@ -87,6 +94,7 @@ proto_6to4_init_config() { proto_config_add_string "ipaddr" proto_config_add_int "mtu" proto_config_add_int "ttl" + proto_config_add_boolean "sourcerouting" } [ -n "$INCLUDE_ONLY" ] || {