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 <daniel@makrotopia.org>
This commit is contained in:
parent
25d637576d
commit
e26942118b
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue