luci/modules/admin-full/luasrc/model/cbi/admin_network/dhcpleases.lua

50 lines
1.6 KiB
Lua

--[[
LuCI - Lua Configuration Interface
Copyright 2008 Steven Barth <steven@midlink.org>
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$
]]--
local sys = require "luci.sys"
m2 = Map("dhcp", translate("DHCP Leases"),
translate("Static leases are used to assign fixed IP addresses and symbolic hostnames to " ..
"DHCP clients. They are also required for non-dynamic interface configurations where " ..
"only hosts with a corresponding lease are served."))
m2:section(SimpleSection).template = "admin_network/lease_status"
s = m2:section(TypedSection, "host", translate("Static Leases"),
translate("Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</em> " ..
"indentifies the host, the <em>IPv4-Address</em> specifies to the fixed address to " ..
"use and the <em>Hostname</em> is assigned as symbolic name to the requesting host."))
s.addremove = true
s.anonymous = true
s.template = "cbi/tblsection"
name = s:option(Value, "name", translate("Hostname"))
mac = s:option(Value, "mac", translate("<abbr title=\"Media Access Control\">MAC</abbr>-Address"))
mac.datatype = "macaddr"
ip = s:option(Value, "ip", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Address"))
ip.datatype = "ip4addr"
sys.net.arptable(function(entry)
ip:value(entry["IP address"])
mac:value(
entry["HW address"],
entry["HW address"] .. " (" .. entry["IP address"] .. ")"
)
end)
return m2