summaryrefslogtreecommitdiff
path: root/src/lboutput.cc
diff options
context:
space:
mode:
authorMichael Larson <mike@vyatta.com>2011-03-30 12:09:58 -0700
committerMichael Larson <mike@vyatta.com>2011-03-30 12:09:58 -0700
commit25eef8bfb91c2c57907ab79f4ba6bcd9fe0064cb (patch)
tree53f6756f29c645fcec455bfec6a1bf8bdb53e50d /src/lboutput.cc
parent55cab2fbbf2ee75d6939a9210ddcaa5c72ed6981 (diff)
downloadvyatta-wanloadbalance-25eef8bfb91c2c57907ab79f4ba6bcd9fe0064cb.tar.gz
vyatta-wanloadbalance-25eef8bfb91c2c57907ab79f4ba6bcd9fe0064cb.zip
check in for Bug 6959
Add the ability to run a user defined script to determine wan load-balancing interface health includes sample http test (scripts/http_test.pl). Configuration will look as follows: wan { interface-health eth0 { nexthop 10.3.0.1 test 1 { test-script /tmp/http_test.pl type user-defined } } interface-health eth1 { nexthop 10.3.0.1 test 1 { test-script /tmp/http_test.pl type user-defined } } With corresponding output: vyatta@vyatta# run show wan-load-balance Interface: eth0 Status: active Last Status Change: Wed Mar 30 19:03:59 2011 +Test: user Script: /tmp/http_test.pl Last Interface Success: 0s Last Interface Failure: n/a # Interface Failure(s): 0 Interface: eth1 Status: failed Last Status Change: Wed Mar 30 19:03:59 2011 -Test: user Script: /tmp/http_test.pl Last Interface Success: n/a Last Interface Failure: 0s # Interface Failure(s): 52 Scripts returns 0 for success, non-zero for failure.
Diffstat (limited to 'src/lboutput.cc')
-rw-r--r--src/lboutput.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lboutput.cc b/src/lboutput.cc
index a3d1c6a..31829e9 100644
--- a/src/lboutput.cc
+++ b/src/lboutput.cc
@@ -81,15 +81,17 @@ LBOutput::write(const LBData &lbdata)
}
}
+ string status;
if (titer->second->_state == LBTest::K_NONE) {
- line += space + "*Test: " + titer->second->name() + "\t" + string("Target: ") + target + "\n";
+ status = "*";
}
else if (titer->second->_state == LBTest::K_FAILURE) {
- line += space + "-Test: " + titer->second->name() + "\t" + string("Target: ") + target + "\n";
+ status = "-";
}
else if (titer->second->_state == LBTest::K_SUCCESS) {
- line += space + "+Test: " + titer->second->name() + "\t" + string("Target: ") + target + "\n";
+ status = "+";
}
+ line += space + status + "Test: " + titer->second->status() + "\n";
++titer;
}