diff options
-rw-r--r-- | applications/luci-olsr/luasrc/model/cbi/olsr/olsrdhna.lua | 68 |
1 files changed, 40 insertions, 28 deletions
diff --git a/applications/luci-olsr/luasrc/model/cbi/olsr/olsrdhna.lua b/applications/luci-olsr/luasrc/model/cbi/olsr/olsrdhna.lua index ad5143c2f..d5ee79f24 100644 --- a/applications/luci-olsr/luasrc/model/cbi/olsr/olsrdhna.lua +++ b/applications/luci-olsr/luasrc/model/cbi/olsr/olsrdhna.lua @@ -2,6 +2,7 @@ LuCI - Lua Configuration Interface Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2011 Manuel Munz <freifunk at somakoma dot de> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,33 +13,44 @@ You may obtain a copy of the License at $Id$ ]]-- -mh = Map("olsrd", translate("OLSR - HNA-Announcements")) - - -hna4 = mh:section(TypedSection, "Hna4", translate("Hna4"), translate("Both values must use the dotted decimal notation.")) -hna4.addremove = true -hna4.anonymous = true -hna4.template = "cbi/tblsection" - -net4 = hna4:option(Value, "netaddr", translate("Network address")) -net4.datatype = "ip4addr" -net4.placeholder = "15.15.0.0" -msk4 = hna4:option(Value, "netmask", translate("Netmask")) -msk4.datatype = "ip4addr" -msk4.placeholder = "255.255.255.0" - -hna6 = mh:section(TypedSection, "Hna6", translate("Hna6"), translate("IPv6 network must be given in full notation, " .. - "prefix must be in CIDR notation.")) -hna6.addremove = true -hna6.anonymous = true -hna6.template = "cbi/tblsection" - -net6 = hna6:option(Value, "netaddr", translate("Network address")) -net6.datatype = "ip6addr" -net6.placeholder = "fec0:2200:106:0:0:0:0:0" -msk6 = hna6:option(Value, "prefix", translate("Prefix")) -msk6.datatype = "range(0,128)" -msk6.placeholder = "48" - +local uci = require "luci.model.uci".cursor() +local ipv = uci:get_first("olsrd", "olsrd", "IpVersion", "4") + +mh = Map("olsrd", translate("OLSR - HNA-Announcements"), translate("Hosts in a OLSR routed network can announce connecitivity " .. + "to external networks using HNA messages.")) + +if ipv == "6and4" or ipv == "4" then + hna4 = mh:section(TypedSection, "Hna4", translate("Hna4"), translate("Both values must use the dotted decimal notation.")) + hna4.addremove = true + hna4.anonymous = true + hna4.template = "cbi/tblsection" + + net4 = hna4:option(Value, "netaddr", translate("Network address")) + net4.datatype = "ip4addr" + net4.placeholder = "10.11.12.13" + net4.default = "10.11.12.13" + msk4 = hna4:option(Value, "netmask", translate("Netmask")) + msk4.datatype = "ip4addr" + msk4.placeholder = "255.255.255.255" + msk4.default = "255.255.255.255" +end + +if ipv == "6and4" or ipv == "6" then + hna6 = mh:section(TypedSection, "Hna6", translate("Hna6"), translate("IPv6 network must be given in full notation, " .. + "prefix must be in CIDR notation.")) + hna6.addremove = true + hna6.anonymous = true + hna6.template = "cbi/tblsection" + + net6 = hna6:option(Value, "netaddr", translate("Network address")) + net6.datatype = "ip6addr" + net6.placeholder = "fec0:2200:106:0:0:0:0:0" + net6.default = "fec0:2200:106:0:0:0:0:0" + msk6 = hna6:option(Value, "prefix", translate("Prefix")) + msk6.datatype = "range(0,128)" + msk6.placeholder = "128" + msk6.default = "128" +end return mh + |