local ip6addr ip6prefix tunlink zone
json_get_vars ip6addr ip6prefix tunlink zone
- [ -z "$zone" ] && zone="wan"
+ [ "$zone" = "-" ] && zone=""
( proto_add_host_dependency "$cfg" "::" "$tunlink" )
proto_add_ipv6_route $ip6addr 128 "" "" "" "" 128
proto_add_data
- [ "$zone" != "-" ] && json_add_string zone "$zone"
+ [ -n "$zone" ] && json_add_string zone "$zone"
json_add_array firewall
+ [ -z "$zone" ] && zone=$(fw3 -q network $iface 2>/dev/null)
+
json_add_object ""
json_add_string type nat
json_add_string target SNAT
json_add_string family inet
json_add_string snat_ip 192.0.0.1
json_close_object
- json_add_object ""
- json_add_string type rule
- json_add_string family inet6
- json_add_string proto all
- json_add_string direction in
- json_add_string dest "$zone"
- json_add_string src "$zone"
- json_add_string src_ip $ip6addr
- json_add_string target ACCEPT
- json_close_object
+ [ -n "$zone" ] && {
+ json_add_object ""
+ json_add_string type rule
+ json_add_string family inet6
+ json_add_string proto all
+ json_add_string direction in
+ json_add_string dest "$zone"
+ json_add_string src "$zone"
+ json_add_string src_ip $ip6addr
+ json_add_string target ACCEPT
+ json_close_object
+ }
json_close_array
proto_close_data