diff options
-rw-r--r-- | quagga-model.lua | 39 | ||||
-rw-r--r-- | quagga-status-html.lsp | 21 |
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> <? |