diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-08-20 18:48:11 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-08-20 18:48:11 +0000 |
commit | a122509dfeb308817a75b082f76c28d5a9966008 (patch) | |
tree | ed75a266c06b7b7f829452c5dd7caaa0a3db43de /interfaces-model.lua | |
parent | 0826a04470d2cf447c76570a3d45c8caeac055c9 (diff) | |
download | acf-alpine-baselayout-a122509dfeb308817a75b082f76c28d5a9966008.tar.bz2 acf-alpine-baselayout-a122509dfeb308817a75b082f76c28d5a9966008.tar.xz |
Modified interfaces model to add a function to parse ip addr.
git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@1386 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'interfaces-model.lua')
-rw-r--r-- | interfaces-model.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/interfaces-model.lua b/interfaces-model.lua index bfa9bb8..0d27ec0 100644 --- a/interfaces-model.lua +++ b/interfaces-model.lua @@ -406,6 +406,15 @@ iface.iproute = function () return cfe({ type="longtext", value=cmdresult, label="ip route" }) end +iface.ifconfig = function () + local cmd = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin ifconfig" + local f = io.popen(cmd) + local cmdresult = f:read("*a") + f:close() + + return cfe({ type="longtext", value=cmdresult, label="ifconfig" }) +end + ------------------------------------------------------------------------------- -- Public Methods ------------------------------------------------------------------------------- @@ -465,3 +474,18 @@ write_file = function (newfile) return get_file() end + +get_addresses = function() + local ipaddr = iface.ipaddr() + -- now parse the result to find the interfaces and IP addresses + local retval = {} + local interface + for line in string.gmatch(ipaddr.value, "[^\n]*\n?") do + if string.find(line, "^%x+:%s+%w+:") then + interface=string.match(line, "^%x+:%s+(%w+):") + elseif string.find(line, "^%s*inet%s") then + table.insert(retval, {interface=interface, ipaddr=string.match(line, "^%s*inet%s+([%d%.]+)")}) + end + end + return cfe({ type="structure", value=retval, label="Interface IP Addresses" }) +end |