From: Daniel Golle Date: Thu, 30 Apr 2015 17:26:47 +0000 (+0200) Subject: cjdns: uci-defaults: work around missing lan interface X-Git-Url: http://git.openwrt.org/?p=feed%2Frouting.git;a=commitdiff_plain;h=e26942118bced52ead0ce753f3c9d931436110b0 cjdns: uci-defaults: work around missing lan interface The current uci-defaults scripts assumes than a network interface named 'lan' always exists. Check if this is true before adding ETHInterface section. This is a temporary work-around until cjdrouteconf gets the Linux interface from netifd via ubus... Signed-off-by: Daniel Golle --- diff --git a/cjdns/files/cjdns.defaults b/cjdns/files/cjdns.defaults index 0624daf..f2baf6d 100644 --- a/cjdns/files/cjdns.defaults +++ b/cjdns/files/cjdns.defaults @@ -22,22 +22,24 @@ EOF exit 1 fi - # enable auto-peering on ethernet - uci show network.lan | grep bridge >/dev/null 2>&1 + # enable auto-peering on ethernet interface lan, if existing + uci get network.lan | grep interface >/dev/null 2>&1 if [ $? -eq 0 ]; then - # most routers will set up an ethernet bridge for the lan - ifname="br-lan" - else - # docker containers don't have permission to create bridges by default, - # so we bind to the underlying interface instead (likely eth0) - ifname=`uci get network.lan.ifname` - fi - uci -q batch <<-EOF >/dev/null - add cjdns eth_interface - set cjdns.@eth_interface[-1].beacon=2 - set cjdns.@eth_interface[-1].bind=$ifname + uci get network.lan.type | grep bridge >/dev/null 2>&1 + if [ $? -eq 0 ]; then + # most routers will set up an ethernet bridge for the lan + ifname="br-lan" + else + # docker containers don't have permission to create bridges by default, + # so we bind to the underlying interface instead (likely eth0) + ifname=`uci get network.lan.ifname` + fi + uci -q batch <<-EOF >/dev/null + add cjdns eth_interface + set cjdns.@eth_interface[-1].beacon=2 + set cjdns.@eth_interface[-1].bind=$ifname EOF - + fi # set the tun interface name uci set cjdns.cjdns.tun_device=tuncjdns