diff options
-rw-r--r-- | scripts/vyatta-wanloadbalance.pl | 17 | ||||
-rw-r--r-- | templates/load-balancing/wan/interface-health/node.tag/nexthop/node.def | 8 |
2 files changed, 24 insertions, 1 deletions
diff --git a/scripts/vyatta-wanloadbalance.pl b/scripts/vyatta-wanloadbalance.pl index f541ea3..397591b 100644 --- a/scripts/vyatta-wanloadbalance.pl +++ b/scripts/vyatta-wanloadbalance.pl @@ -12,6 +12,7 @@ use lib "/opt/vyatta/share/perl5/"; use Vyatta::Config; use Vyatta::Misc; use Vyatta::TypeChecker; +use Getopt::Long; use warnings; use strict; @@ -235,12 +236,28 @@ sub write_rules { return $valid; } +my $nexthop; +sub usage { + exit 1; +} + +GetOptions("valid-nexthop=s" => \$nexthop, + ) or usage(); ####main my $conf_file = '/var/load-balance/wlb.conf'; my $conf_lck_file = '/var/load-balance/wlb.conf.lck'; +####are we just validating? +if (defined $nexthop) { + my $rc = Vyatta::TypeChecker::validateType('ipv4', $nexthop, 1); + if (!$rc && $nexthop ne "dhcp") { + exit 1; + } + exit 0; +} + #open file open(FILE, "<$conf_file") or die "Can't open wlb config file"; open(FILE_LCK, "+>$conf_lck_file") or die "Can't open wlb lock file"; diff --git a/templates/load-balancing/wan/interface-health/node.tag/nexthop/node.def b/templates/load-balancing/wan/interface-health/node.tag/nexthop/node.def index b549e8c..6b3299b 100644 --- a/templates/load-balancing/wan/interface-health/node.tag/nexthop/node.def +++ b/templates/load-balancing/wan/interface-health/node.tag/nexthop/node.def @@ -1,2 +1,8 @@ type: txt -help: Set interface nexthop +help: Outbound interface nexthop address. Can be 'dhcp or ip address' +syntax:expression: exec "/opt/vyatta/sbin/vyatta-wanloadbalance.pl --valid-nexthop $VAR(@)"\ + ; "Invalid nexthop [$VAR(@)]" +allowed: echo "dhcp <>" +comp_help:Possible completions: + <x.x.x.x> Set the nexthop + dhcp Set the nexthop via DHCP |