From 25eef8bfb91c2c57907ab79f4ba6bcd9fe0064cb Mon Sep 17 00:00:00 2001 From: Michael Larson Date: Wed, 30 Mar 2011 12:09:58 -0700 Subject: 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. --- src/lboutput.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/lboutput.cc') 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; } -- cgit v1.2.3