summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--modules/luci-base/luasrc/tools/status.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/luci-base/luasrc/tools/status.lua b/modules/luci-base/luasrc/tools/status.lua
index b531393d0f..95ff46df15 100644
--- a/modules/luci-base/luasrc/tools/status.lua
+++ b/modules/luci-base/luasrc/tools/status.lua
@@ -74,9 +74,19 @@ local function dhcp_leases_common(family)
hostname = (name ~= "-") and name
}
elseif ip and iaid == "ipv4" and family == 4 then
+ local mac, mac1, mac2, mac3, mac4, mac5, mac6
+ if duid and type(duid) == "string" then
+ mac1, mac2, mac3, mac4, mac5, mac6 = duid:match("^(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)$")
+ end
+ if not (mac1 and mac2 and mac3 and mac4 and mac5 and mac6) then
+ mac = "FF:FF:FF:FF:FF:FF"
+ else
+ mac = mac1..":"..mac2..":"..mac3..":"..mac4..":"..mac5..":"..mac6
+ end
rv[#rv+1] = {
expires = (expire >= 0) and os.difftime(expire, os.time()),
macaddr = duid,
+ macaddr = mac:lower(),
ipaddr = ip,
hostname = (name ~= "-") and name
}