From: Baptiste Jonglez Date: Fri, 29 Aug 2014 06:43:17 +0000 (+0200) Subject: babeld: Take interface name from "option ifname" X-Git-Url: http://git.openwrt.org/?p=feed%2Frouting.git;a=commitdiff_plain;h=539de92a4c672937b2bae5448c4b20357c3a600f babeld: Take interface name from "option ifname" Previously, we were using the name of the section as the interface name, but this has several drawbacks: - no "-" or other special characters are allowed in a section name, preventing some physical interface names to be specified this way (e.g. "tun-topeka" would not work) - it is harder to support default interface options (no interface name) This change is not backward compatible, but a later commit will fix that. --- diff --git a/babeld/files/babeld.init b/babeld/files/babeld.init index ea4b348..cb98e39 100755 --- a/babeld/files/babeld.init +++ b/babeld/files/babeld.init @@ -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.