diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass index 05bec066a..cec5ccead 100755 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ b/luci-app-omr-bypass/root/etc/init.d/omr-bypass @@ -178,21 +178,24 @@ _intf_rule() { create omr_rules_dst_bypass_$intf hash:net hashsize 64 create omr_rules6_dst_bypass_$intf hash:net family inet6 hashsize 64 EOF - uci -q batch <<-EOF >/dev/null - delete network.${1}_fw_rule=rule - set network.${1}_fw_rule=rule - set network.${1}_fw_rule.priority=1 - set network.${1}_fw_rule.mark=0x539${count} - set network.${1}_fw_rule.lookup=${count} - delete network.${1}_fw_rule6=rule6 - set network.${1}_fw_rule6=rule6 - set network.${1}_fw_rule6.priority=1 - set network.${1}_fw_rule6.mark=0x6539${count} - set network.${1}_fw_rule6.lookup=${count} - commit network - EOF - #ip rule add prio 1 fwmark 0x539$count lookup $count pref 1 > /dev/null 2>&1 - #ip -6 rule add prio 1 fwmark 0x6539$count lookup 6$count > /dev/null 2>&1 + if [ "$(uci -q openmptcprouter.settings.uci_rules)" = "1" ]; then + uci -q batch <<-EOF >/dev/null + delete network.${1}_fw_rule=rule + set network.${1}_fw_rule=rule + set network.${1}_fw_rule.priority=1 + set network.${1}_fw_rule.mark=0x539${count} + set network.${1}_fw_rule.lookup=${count} + delete network.${1}_fw_rule6=rule6 + set network.${1}_fw_rule6=rule6 + set network.${1}_fw_rule6.priority=1 + set network.${1}_fw_rule6.mark=0x6539${count} + set network.${1}_fw_rule6.lookup=${count} + commit network + EOF + else + ip rule add prio 1 fwmark 0x539$count lookup $count pref 1 > /dev/null 2>&1 + ip -6 rule add prio 1 fwmark 0x6539$count lookup 6$count > /dev/null 2>&1 + fi if [ "$(iptables -w 40 -t mangle -L | grep omr_rules_dst_bypass_$intf)" = "" ]; then iptables-restore --wait=60 --noflush <<-EOF *mangle