+ -- Routing from Internal
+ local iface = ffluci.http.formvalue("frominternal")
+ if iface and iface ~= "" then
+ local routing = uci:t_sections("luci_fw")
+ if routing then
+ for k, v in pairs(routing) do
+ if v[".type"] == "routing" and (v.iface == iface and v.oface == "ff") then
+ uci:t_del("luci_fw", k)
+ end
+ end
+
+ local int = uci:t_add("luci_fw", "routing")
+ uci:t_set("luci_fw", int, "iface", iface)
+ uci:t_set("luci_fw", int, "oface", "ff")
+ uci:t_set("luci_fw", int, "fwd", "1")
+ uci:t_set("luci_fw", int, "nat", "1")
+ end
+ end
+
+ -- Routing to External
+ local iface = ffluci.http.formvalue("toexternal")
+ if iface and iface ~= "" then
+ local routing = uci:t_sections("luci_fw")
+ if routing then
+ for k, v in pairs(routing) do
+ if v[".type"] == "routing" and (v.oface == iface and v.iface == "ff") then
+ uci:t_del("luci_fw", k)
+ end
+ end
+
+ local int = uci:t_add("luci_fw", "routing")
+ uci:t_set("luci_fw", int, "iface", "ff")
+ uci:t_set("luci_fw", int, "oface", iface)
+ uci:t_set("luci_fw", int, "fwd", "1")
+ uci:t_set("luci_fw", int, "nat", "1")
+ end
+ end
+