From d31ca94dcd773d01fceacb78ed228c958f0d95a3 Mon Sep 17 00:00:00 2001 From: Mika Havela Date: Wed, 2 Apr 2008 12:02:35 +0000 Subject: 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 --- quagga-model.lua | 39 ++++++++++++++++++++++++++++++++++++--- 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)

PROGRAM SPECIFIC OPTIONS/INFORMATION

0) then io.write(" class='error'") end -io.write(">" .. myform.label .. "\n") -io.write("\t\t
\n") -io.write("\t\t
"..myform.value.."
\n") -io.write("\t\t
\n") +local tags ={"routes", "iproute", "bgpstats", } +for k,v in pairs(tags) do + local myform = form.status[v] + if (myform) then + io.write("\t 0) then io.write(" class='error'") end + io.write(">" .. myform.label .. "\n") + io.write("\t\t
\n") + io.write("\t\t
"..myform.value.."
\n") + io.write("\t\t
\n") + end +end ?> +