summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/vyatta-interfaces.pl5
-rw-r--r--templates/interfaces/ethernet/node.tag/disable/node.def5
-rw-r--r--templates/interfaces/ethernet/node.tag/vif/node.tag/disable/node.def5
3 files changed, 9 insertions, 6 deletions
diff --git a/scripts/vyatta-interfaces.pl b/scripts/vyatta-interfaces.pl
index 8614591..e890f9c 100644
--- a/scripts/vyatta-interfaces.pl
+++ b/scripts/vyatta-interfaces.pl
@@ -199,12 +199,13 @@ sub restore_ipv6_addr {
exit 1;
}
- foreach my $addr ($config->listNodes('address')) {
+ foreach my $addr ($config->returnValues('address')) {
next if ($addr eq 'dhcp');
my $version = is_ip_v4_or_v6($addr);
next unless $version;
next unless ($version == 6);
- system("ip -6 addr add $addr dev $intf");
+ system("sudo ip -6 addr add $addr dev $intf") == 0
+ or die "restoring $addr failed: $!\n";
}
}
diff --git a/templates/interfaces/ethernet/node.tag/disable/node.def b/templates/interfaces/ethernet/node.tag/disable/node.def
index 54090cc..1dcaf17 100644
--- a/templates/interfaces/ethernet/node.tag/disable/node.def
+++ b/templates/interfaces/ethernet/node.tag/disable/node.def
@@ -1,3 +1,4 @@
help: Set interface disabled
-update:expression: "sudo ip link set $VAR(../@) down"; "Error disabling dev $VAR(../@)"
-delete:expression: "sudo ip link set $VAR(../@) up"; "Error enabling dev $VAR(../@)"
+update: sudo ip link set $VAR(../@) down
+delete: sudo ip link set $VAR(../@) up
+ /opt/vyatta/sbin/vyatta-interfaces.pl --dev $VAR(../@) --restore-ipv6
diff --git a/templates/interfaces/ethernet/node.tag/vif/node.tag/disable/node.def b/templates/interfaces/ethernet/node.tag/vif/node.tag/disable/node.def
index 9599de3..61cdbe8 100644
--- a/templates/interfaces/ethernet/node.tag/vif/node.tag/disable/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif/node.tag/disable/node.def
@@ -1,3 +1,4 @@
help: Set interface disabled
-update:expression: "sudo ip link set $VAR(../../@).$VAR(../@) down"; "Error disabling dev $VAR(../../@).$VAR(../@)"
-delete:expression: "sudo ip link set $VAR(../../@).$VAR(../@) up"; "Error enabling dev $VAR(../../@).$VAR(../@)"
+update:sudo ip link set $VAR(../../@).$VAR(../@) down
+delete:sudo ip link set $VAR(../../@).$VAR(../@) up
+ /opt/vyatta/sbin/vyatta-interfaces.pl --dev $VAR(../../@).$VAR(../@) --restore-ipv6