summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/system/vyatta_update_console.pl7
-rw-r--r--templates/interfaces/bonding/node.tag/hash-policy/node.def13
2 files changed, 18 insertions, 2 deletions
diff --git a/scripts/system/vyatta_update_console.pl b/scripts/system/vyatta_update_console.pl
index 3c3b7d2d..2ee57583 100644
--- a/scripts/system/vyatta_update_console.pl
+++ b/scripts/system/vyatta_update_console.pl
@@ -41,7 +41,7 @@ sub update_inittab {
my ($inpath, $outpath) = @_;
open (my $inittab, '<', $inpath)
- or die "Can't open $inpath: $!";
+ or return;
open (my $tmp, '>', $outpath)
or die "Can't open $outpath: $!";
@@ -81,7 +81,10 @@ sub update_grub {
my ($inpath, $outpath) = @_;
my $config = new Vyatta::Config;
- my $speed = $config->returnValue("system console device ttyS0 speed");
+ $config->setlevel("system console device");
+ return unless $config->exists("ttyS0");
+
+ my $speed = $config->returnValue("ttyS0 speed");
$speed = "9600" unless defined($speed);
open (my $grub, '<', $inpath)
diff --git a/templates/interfaces/bonding/node.tag/hash-policy/node.def b/templates/interfaces/bonding/node.tag/hash-policy/node.def
new file mode 100644
index 00000000..54c2bb0f
--- /dev/null
+++ b/templates/interfaces/bonding/node.tag/hash-policy/node.def
@@ -0,0 +1,13 @@
+type: txt
+default: "layer2"
+allowed: echo "layer2 layer2+3 layer3+4"
+syntax:expression: $VAR(@) in "layer2", "layer2+3", "layer3+4" \
+ ; "hash_policy must be layer2 layer3+4 or layer2+3"
+help: Bonding transmit hash policy
+
+update: sudo sh -c \
+ "echo $VAR(@) >/sys/class/net/$VAR(../@)/bonding/xmit_hash_policy"
+
+val_help: layer2; use MAC addresses to generate the hash (802.3ad)
+val_help: layer2+3; combine MAC address and IP address to make hash
+val_help: layer3+4; combine IP address and port to make hash