+++ /dev/null
-config 'olsr' 'general'
- option 'DebugLevel' '0'
- option 'IpVersion' '4'
- option 'AllowNoInt' 'yes'
- option 'Pollrate' '0.025'
- option 'TcRedundancy' '2'
- option 'MprCoverage' '7'
- option 'LinkQualityFishEye' '1'
- option 'LinkQualityWinSize' '100'
- option 'LinkQualityDijkstraLimit' '0 9.0'
- option 'LinkQualityLevel' '2'
- option 'UseHysteresis' 'no'
-
-config 'LoadPlugin' 'dyn_gw'
- option 'Library' 'olsrd_dyn_gw.so.0.4'
-
-config 'LoadPlugin' 'nameservice'
- option 'Library' 'olsrd_nameservice.so.0.3'
- option 'suffix' '.olsr'
- option 'latlon_infile' '/tmp/latlon.txt'
- option 'hosts_file' '/var/etc/hosts'
- option 'name' 'luci-node'
-
-config 'LoadPlugin' 'txtinfo'
- option 'Library' 'olsrd_txtinfo.so.0.1'
- option 'Accept' '127.0.0.1'
-
-config 'Interface'
- option 'HelloInterval' '6.0'
- option 'MidValidityTime' '324.0'
- option 'TcInterval' '4.0'
- option 'HnaValidityTime' '108.0'
- option 'HelloValidityTime' '108.0'
- option 'TcValidityTime' '324.0'
- option 'HnaInterval' '18.0'
- option 'MidInterval' '18.0'
- option 'Interface' 'br-ff'
-
-config 'ipc' 'IpcConnect'
- option 'MaxConnections' '0'
- option 'Host' '127.0.0.1 10.0.0.5'
- option 'Net' '192.168.1.0 255.255.255.0 10.0.0.0 255.0.0.0'
+++ /dev/null
-#!/usr/bin/lua
-
---[[
-
-OLSRd configuration generator
-(c) 2008 Freifunk Leipzig / Jo-Philipp Wich <xm@leipzig.freifunk.net>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-$Id: olsr.lua 2516 2008-07-06 13:34:07Z jow $
-
-]]--
-
-require("luci.util")
-require("luci.model.uci")
-
-luci.model.uci.load_state("network")
-local conf = luci.model.uci.get_all("olsr")
-
-local function _value(val)
- if val:match("^[0-9%. \t]+$") or val == "yes" or val == "no" then
- return val
- else
- return string.format( '"%s"', val )
- end
-end
-
-local function _section(sect,sval,parstr)
- local rv = ""
- local pad = ""
-
- if sval then
- local val = ""
-
- if sval == "Interface" then
- val = luci.model.uci.get( "network", conf[sect][sval], "ifname" )
- else
- val = conf[sect][sval]
- end
-
- rv = string.format( '%s "%s"\n{\n', conf[sect][".type"], val )
- pad = "\t"
- end
-
- for k, v in luci.util.spairs(conf[sect]) do
- if k:sub(1,1) ~= '.' and k ~= sval then
- if parstr then
- rv = rv .. string.format(
- '%s%s "%s"\t"%s"\n',
- pad, parstr,
- k:gsub( "_", "-" ), -- XXX: find a better solution for this
- v
- )
- else
- rv = rv .. string.format(
- '%s%s\t%s\n',
- pad, k, _value(v)
- )
- end
- end
- end
-
- if sval then
- rv = rv .. "}\n"
- end
-
- return rv
-end
-
-local function _hna(sval)
- local rv = string.format( "%s\n{\n", sval )
- local cnt = 0
-
- for k, v in luci.util.spairs(conf) do
- if conf[k][".type"] == sval and conf[k].NetAddr and conf[k].Prefix then
- cnt = cnt + 1
- rv = rv .. string.format(
- "\t%s\t%s\n",
- conf[k].NetAddr,
- conf[k].Prefix
- )
- end
- end
-
- return ( cnt > 0 and rv .. "}\n" or "" )
-end
-
-local function _ipc(sval)
- if conf[sval] and ( conf[sval].MaxConnections == nil or tonumber(conf[sval].MaxConnections) > 0 ) then
- local rv = string.format( "%s\n{\n", sval )
-
- for k, v in luci.util.spairs(conf[sval]) do
- if k:sub(1,1) ~= "." then
- local vals = luci.util.split(v, "%s+", nil, true)
-
- if k == "Net" then
- for i = 1,#vals,2 do
- rv = rv .. string.format(
- "\tNet\t%s\t%s\n",
- vals[i], vals[i+1]
- )
- end
- elseif k == "Host" then
- for i, v in ipairs(vals) do
- rv = rv .. string.format(
- "\t%s\t%s\n",
- k, vals[i]
- )
- end
- else
- rv = rv .. string.format(
- "\t%s\t%s\n",
- k, v
- )
- end
- end
- end
-
- return rv .. "}\n"
- else
- return ""
- end
-end
-
-
--- general config section
-print( _section("general") )
-
--- plugin config sections
-for k, v in luci.util.spairs(conf) do
- if conf[k][".type"] == "LoadPlugin" then
- print( _section( k, "Library", "PlParam" ) )
- end
-end
-
--- interface config sections
-for k, v in luci.util.spairs(conf) do
- if conf[k][".type"] == "Interface" then
- print( _section( k, "Interface" ) )
- end
-end
-
--- write Hna4, Hna6 sections
-print( _hna("Hna4") )
-print( _hna("Hna6") )
-
--- write IpcConnect section
-print( _ipc("IpcConnect") )
-