babeld: Take interface name from "option ifname"
[feed/routing.git] / babeld / files / babeld.init
index ea4b348f97d7ca35cf3696bd8b2e817f61ca5746..cb98e391d9519fcdda0b50dd6c62b39b2f2e0536 100755 (executable)
@@ -102,11 +102,17 @@ babel_config_cb() {
                }
        ;;
        "interface")
+               local _ifname
+               config_get _ifname "$section" 'ifname'
+               # Try to resolve the logical interface name
                unset interface
-               network_get_device interface "$section" || interface="$section"
+               network_get_device interface "$_ifname" || interface="$_ifname"
                option_cb() {
                        local option="$1"
                        local value="$2"
+                       # "option ifname" is a special option, don't actually
+                       # generate configuration for it.
+                       [ "$option" = "ifname" ] && return
                        cfg_append "interface $interface ${option//_/-} $value"
                }
                # Handle ignore options.