if we could not get the l3 device in olsrd_write_interface then try to get the 5/head
authorManuel Munz <manu@somakoma.de>
Wed, 7 Aug 2013 21:39:18 +0000 (23:39 +0200)
committerManuel Munz <manu@somakoma.de>
Wed, 7 Aug 2013 21:39:18 +0000 (23:39 +0200)
physical device instead. But only if the protocoll is "static" or "none".
This is useful to write Interfaces in the resulting olsrd.conf file which
are not up at the time olsrd is starting (e.g. tunnel interfaces):

olsrd/files/olsrd.init

index f4641aa8eab1a391ecbf69a1813d5cca7bf82196..80f93ce7d40abceed85dcfbefbde36173d1e6830 100644 (file)
@@ -564,6 +564,12 @@ olsrd_write_interface() {
                        if network_get_device IFNAME "$interface"; then
                                ifnames="$ifnames \"$IFNAME\""
                                ifsglobal="$ifsglobal $IFNAME"
+                       elif network_get_physdev IFNAME "$interface"; then
+                               local proto="$(uci -q get network.${interface}.proto)"
+                               if [ "$proto" = "static" -o "$proto" = "none" ]; then
+                                       ifnames="$ifnames \"$IFNAME\""
+                                       ifsglobal="$ifsglobal $IFNAME"
+                               fi
                        else
                                log "$funcname() Warning: Interface '$interface' not found, skipped"
                        fi