diff options
-rw-r--r-- | applications/luci-radvd/luasrc/model/cbi/radvd.lua | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/applications/luci-radvd/luasrc/model/cbi/radvd.lua b/applications/luci-radvd/luasrc/model/cbi/radvd.lua index 67ef26a2f..041decce5 100644 --- a/applications/luci-radvd/luasrc/model/cbi/radvd.lua +++ b/applications/luci-radvd/luasrc/model/cbi/radvd.lua @@ -36,16 +36,18 @@ function s.create(...) end function s.remove(self, section) - local iface = m.uci:get("radvd", section, "interface") - if iface then - m.uci:delete_all("radvd", "prefix", - function(s) return s.interface == iface end) + if m.uci:get("radvd", section) == "interface" then + local iface = m.uci:get("radvd", section, "interface") + if iface then + m.uci:delete_all("radvd", "prefix", + function(s) return s.interface == iface end) - m.uci:delete_all("radvd", "route", - function(s) return s.interface == iface end) + m.uci:delete_all("radvd", "route", + function(s) return s.interface == iface end) - m.uci:delete_all("radvd", "rdnss", - function(s) return s.interface == iface end) + m.uci:delete_all("radvd", "rdnss", + function(s) return s.interface == iface end) + end end return TypedSection.remove(self, section) |