[source] base-files: always set proto passed to _ucidef_set_interface()

LEDE Commits lede-commits at lists.infradead.org
Sat Jun 3 12:12:20 PDT 2017

hauke pushed a commit to source.git, branch lede-17.01:

commit 524ed5088e900821307694180d77038df5a3ea9a
Author: Mathias Kresin <dev at kresin.me>
AuthorDate: Wed Feb 15 08:39:05 2017 +0100

    base-files: always set proto passed to _ucidef_set_interface()
    Overwrite an already set proto if a new one is passed to
    _ucidef_set_interface() similar to what is done for the interface.
    It is required when using ""ucidef_set_interface_wan 'ptm0' 'pppoe'"
    after some initial wan interface configuration is already done by
    The "json_is_a protocol string" guard is meant to not reset an earlier
    set interface proto in case something like
    "ucidef_set_interface_lan 'eth0'" is used afterwards.
    Signed-off-by: Mathias Kresin <dev at kresin.me>
 package/base-files/files/lib/functions/uci-defaults.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh
index 06004c3..7cc63ff 100755
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -35,7 +35,7 @@ _ucidef_set_interface() {
 	json_select_object "$name"
 	json_add_string ifname "$iface"
-	if ! json_is_a protocol string; then
+	if ! json_is_a protocol string || [ -n "$proto" ]; then
 		case "$proto" in
 			static|dhcp|none|pppoe) : ;;

More information about the lede-commits mailing list