+set_site_border() {
+ local network="$1"
+ local device="$2"
+
+ local fwscript="/var/etc/ipv6-firewall.d/site-border-$network.sh"
+ local chain="ipv6-site-border-$network"
+
+ if [ -n "$device" ]; then
+ local site_border
+ config_get_bool site_border "$network" site_border 0
+ [ "$site_border" == "1" ] || return
+
+ mkdir -p $(dirname "$fwscript")
+ echo "ip6tables -N $chain" > "$fwscript"
+ echo "ip6tables -F $chain" >> "$fwscript"
+ echo "ip6tables -A $chain -o $device -j REJECT --reject-with icmp6-no-route" >> "$fwscript"
+ echo "ip6tables -A $chain -i $device -j REJECT --reject-with icmp6-no-route" >> "$fwscript"
+ echo "ip6tables -A ipv6-site-border -j $chain" >> "$fwscript"
+ . "$fwscript"
+ else
+ [ -f "$fwscript" ] || return
+ rm -f "$fwscript"
+ ip6tables -D ipv6-site-border -j "$chain"
+ ip6tables -F "$chain"
+ ip6tables -X "$chain"
+ fi
+}
+
+