summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-04-02 12:02:35 +0000
committerMika Havela <mika.havela@gmail.com>2008-04-02 12:02:35 +0000
commitd31ca94dcd773d01fceacb78ed228c958f0d95a3 (patch)
treee1cfc6bda3005cbefa4e136cbad06cd356a55f54
parentc743fdd25b46f341b649ba3ae498e9fc97ad5f38 (diff)
downloadacf-quagga-d31ca94dcd773d01fceacb78ed228c958f0d95a3.tar.bz2
acf-quagga-d31ca94dcd773d01fceacb78ed228c958f0d95a3.tar.xz
Showing some route information while waiting to solve howto fetch information from bgpd.
git-svn-id: svn://svn.alpinelinux.org/acf/quagga/trunk@897 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--quagga-model.lua39
-rw-r--r--quagga-status-html.lsp21
2 files changed, 49 insertions, 11 deletions
diff --git a/quagga-model.lua b/quagga-model.lua
index 21ca098..be045d5 100644
--- a/quagga-model.lua
+++ b/quagga-model.lua
@@ -29,6 +29,30 @@ local function get_version()
return cmd_output_result,cmd_output_error
end
+local function get_routes()
+ local cmd_output_result, cmd_output_error
+ local cmd = "/sbin/route -n 2>/dev/null"
+ local f = io.popen( cmd )
+ local cmd_output_result = f:read("*a")
+ return cmd_output_result,cmd_output_error
+end
+
+local function get_iproute()
+ local cmd_output_result, cmd_output_error
+ local cmd = "/bin/ip route 2>/dev/null"
+ local f = io.popen( cmd )
+ local cmd_output_result = f:read("*a")
+ return cmd_output_result,cmd_output_error
+end
+
+local function get_bgpinfo()
+ local cmd_output_result, cmd_output_error
+ local cmd = "/usr/sbin/bgpd --version 2>/dev/null"
+ local f = io.popen( cmd )
+ local cmd_output_result = f:read("*a")
+ return cmd_output_result,cmd_output_error
+end
+
local function autostarts()
local cmd_output_result, cmd_output_error
local cmd = "/sbin/rc_status | egrep '^S' | egrep '" .. processname .."' 2>/dev/null"
@@ -85,10 +109,19 @@ function getstatus()
})
-- THIS IS WHERE WE PRESENT THE OUTPUT FROM TELNET
- status.stats = cfe({ name="stats",
- label="Programstatus reports",
- value="xxx",
+ status.iproute = cfe({ name="iproute",
+ label="ip route",
+ value=get_iproute(),
+ })
+ status.routes = cfe({ name="routes",
+ label="route -n",
+ value=get_routes(),
})
+ status.bgpstats = cfe({ name="bgpstats",
+ label="BGP version",
+ value=get_bgpinfo(),
+ })
+
return status
end
diff --git a/quagga-status-html.lsp b/quagga-status-html.lsp
index b8d58f9..00f95b5 100644
--- a/quagga-status-html.lsp
+++ b/quagga-status-html.lsp
@@ -37,15 +37,20 @@ informationform(myform,tags)
<H2>PROGRAM SPECIFIC OPTIONS/INFORMATION</H2>
<DL>
<?
-
-local myform = form.status.stats
-io.write("\t<DT")
-if (#myform.errtxt > 0) then io.write(" class='error'") end
-io.write(">" .. myform.label .. "</DT>\n")
-io.write("\t\t<DD>\n")
-io.write("\t\t<PRE>"..myform.value.."</PRE>\n")
-io.write("\t\t</DD>\n")
+local tags ={"routes", "iproute", "bgpstats", }
+for k,v in pairs(tags) do
+ local myform = form.status[v]
+ if (myform) then
+ io.write("\t<DT")
+ if (#myform.errtxt > 0) then io.write(" class='error'") end
+ io.write(">" .. myform.label .. "</DT>\n")
+ io.write("\t\t<DD>\n")
+ io.write("\t\t<PRE>"..myform.value.."</PRE>\n")
+ io.write("\t\t</DD>\n")
+ end
+end
?>
+
</DL>
<?