]> git.ipfire.org Git - people/ms/network.git/commitdiff
bridge: Set proper defaults
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 24 Sep 2018 21:29:25 +0000 (23:29 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 24 Sep 2018 21:37:32 +0000 (23:37 +0200)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/functions/functions.hook
src/hooks/zones/bridge

index ad51ad5aa3f8e7557abb39b7d7f06326abbcd2af..2f3ced09be242d43441bc11c499ad6cd3bb03686 100644 (file)
@@ -124,6 +124,18 @@ hook_help() {
        exit $?
 }
 
+# Sets all settings in HOOK_SETTINGS to their DEFAULT_* values
+hook_set_defaults() {
+       local setting
+       for setting in ${HOOK_SETTINGS}; do
+               local default="DEFAULT_${setting}"
+
+               if isset ${default}; then
+                       assign "${setting}" "${!default}"
+               fi
+       done
+}
+
 config_get_hook() {
        local config=${1}
 
index fb81673c90a3255f65fb9963cd086d4de16ace63..1144ba062a0f64363c21afe135fff5416815c380 100644 (file)
@@ -29,12 +29,10 @@ HOOK_SETTINGS="${HOOK_SETTINGS} STP_PRIORITY MTU"
 HOOK_PORT_SETTINGS="COST PRIORITY"
 
 # Default values
-MTU=1500
-STP="on"
-STP_FORWARD_DELAY=0
-STP_HELLO=2
-STP_MAXAGE=20
-STP_PRIORITY=512
+DEFAULT_STP_FORWARD_DELAY=0
+DEFAULT_STP_HELLO=2
+DEFAULT_STP_MAXAGE=20
+DEFAULT_STP_PRIORITY=512
 
 hook_check_settings() {
        assert ismac ADDRESS
@@ -117,10 +115,18 @@ hook_parse_cmdline() {
        done
 
        # Generate a random MAC address if the user passed no one
-       if isset ADDRESS; then
+       if isset ADDRESS; then
                ADDRESS="$(mac_generate)"
        fi
 
+       # Enable Spanning Tree Protocol by default
+       if ! isset STP; then
+               STP="on"
+       fi
+
+       # Set all other defaults
+       hook_set_defaults
+
        return ${EXIT_OK}
 }