libs/sys: fix parsing of model and cpu info, consider 2000::/3 as IPv6 default route if no ::/0 route exists (#200)

This commit is contained in:
Jo-Philipp Wich 2011-02-12 19:32:36 +00:00
parent f04acc4b94
commit 68b51e1527

View file

@ -171,23 +171,23 @@ function sysinfo()
local cpuinfo = fs.readfile("/proc/cpuinfo")
local meminfo = fs.readfile("/proc/meminfo")
local system = cpuinfo:match("system typ.-:%s*([^\n]+)")
local model = ""
local memtotal = tonumber(meminfo:match("MemTotal:%s*(%d+)"))
local memcached = tonumber(meminfo:match("\nCached:%s*(%d+)"))
local memfree = tonumber(meminfo:match("MemFree:%s*(%d+)"))
local membuffers = tonumber(meminfo:match("Buffers:%s*(%d+)"))
local bogomips = tonumber(cpuinfo:match("BogoMIPS.-:%s*([^\n]+)"))
if not system then
system = nixio.uname().machine
model = cpuinfo:match("model name.-:%s*([^\n]+)")
if not model then
model = cpuinfo:match("Processor.-:%s*([^\n]+)")
end
else
model = cpuinfo:match("cpu model.-:%s*([^\n]+)")
end
local system =
cpuinfo:match("system type\t+: ([^\n]+)") or
cpuinfo:match("Processor\t+: ([^\n]+)") or
cpuinfo:match("model name\t+: ([^\n]+)")
local model =
cpuinfo:match("machine\t+: ([^\n]+)") or
cpuinfo:match("Hardware\t+: ([^\n]+)") or
fs.readfile("/proc/diag/model") or
nixio.uname().machine() or
system
return system, model, memtotal, memcached, membuffers, memfree, bogomips
end
@ -307,6 +307,17 @@ function net.defaultroute6()
end
end)
if not route then
local global_unicast = luci.ip.IPv6("2000::/3")
net.routes6(function(rt)
if rt.dest:equal(global_unicast) and
(not route or route.metric > rt.metric)
then
route = rt
end
end)
end
return route
end