summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorSaurabh Mohan <saurabh@vyatta.com>2012-05-18 14:50:32 -0700
committerSaurabh Mohan <saurabh@vyatta.com>2012-05-18 14:50:32 -0700
commit34ce3a9b1b3339d3c5874057e5d31c61b68b0e6e (patch)
tree3507a6a302bdfc2797067be8db88db0a3d6085ed /scripts
parent37126e2b3b8d40fc43d8c7803b6eb3f1f14c760f (diff)
downloadvyatta-cfg-vpn-34ce3a9b1b3339d3c5874057e5d31c61b68b0e6e.tar.gz
vyatta-cfg-vpn-34ce3a9b1b3339d3c5874057e5d31c61b68b0e6e.zip
VTI: cfg mark/bind change handlers.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/vyatta-vti-config.pl12
1 files changed, 9 insertions, 3 deletions
diff --git a/scripts/vyatta-vti-config.pl b/scripts/vyatta-vti-config.pl
index 94c2edf..40b9ec6 100755
--- a/scripts/vyatta-vti-config.pl
+++ b/scripts/vyatta-vti-config.pl
@@ -87,7 +87,11 @@ if (@peers == 0) {
exit -1;
}
# Check mark is valid.
- if (!defined($mark) || $mark eq "" || $mark eq "0") {
+ if (!defined($mark)) {
+ print STDERR "$vti_cfg_err mark not defined.\n";
+ exit -1;
+ }
+ if ($mark eq "" || $mark eq "0") {
print STDERR "$vti_cfg_err Invalid mark \"$mark\".\n";
exit -1;
}
@@ -130,17 +134,19 @@ if (@peers == 0) {
# @SM TODO: Add the static routes over this tunnel...
}
if (defined($description)) {
- $gencmds .= "sudo /sbin/ip tunnel show $tunName || sudo echo \"$description\" > /sys/class/net/$tunName/ifalias\n";
+ $gencmds .= "if [ -d /sys/class/net/$tunName ] ; then\n\tsudo echo \"$description\" > /sys/class/net/$tunName/ifalias\nfi\n";
}
}
if ($gencmds ne "") {
open my $output_config, '>', '/tmp/vti_config' or die "Can't open /tmp/vti_config $!";
print ${output_config} "#!/bin/sh\n";
+ print ${output_config} "sudo modprobe ip_vti\n";
print ${output_config} $gencmds;
close $output_config;
`chmod 755 /tmp/vti_config`;
- #$result=`/tmp/vti_config`;
+ system("/tmp/vti_config");
+ $result = $? >> 8;
#@SM TODO: remove /tmp/vti_config;
}
exit $result;