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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# enable auto-peering on ethernet
|
# enable auto-peering on ethernet interface lan, if existing
|
||||||
uci show network.lan | grep bridge >/dev/null 2>&1
|
uci get network.lan | grep interface >/dev/null 2>&1
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
# most routers will set up an ethernet bridge for the lan
|
uci get network.lan.type | grep bridge >/dev/null 2>&1
|
||||||
ifname="br-lan"
|
if [ $? -eq 0 ]; then
|
||||||
else
|
# most routers will set up an ethernet bridge for the lan
|
||||||
# docker containers don't have permission to create bridges by default,
|
ifname="br-lan"
|
||||||
# so we bind to the underlying interface instead (likely eth0)
|
else
|
||||||
ifname=`uci get network.lan.ifname`
|
# docker containers don't have permission to create bridges by default,
|
||||||
fi
|
# so we bind to the underlying interface instead (likely eth0)
|
||||||
uci -q batch <<-EOF >/dev/null
|
ifname=`uci get network.lan.ifname`
|
||||||
add cjdns eth_interface
|
fi
|
||||||
set cjdns.@eth_interface[-1].beacon=2
|
uci -q batch <<-EOF >/dev/null
|
||||||
set cjdns.@eth_interface[-1].bind=$ifname
|
add cjdns eth_interface
|
||||||
|
set cjdns.@eth_interface[-1].beacon=2
|
||||||
|
set cjdns.@eth_interface[-1].bind=$ifname
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
# set the tun interface name
|
# set the tun interface name
|
||||||
uci set cjdns.cjdns.tun_device=tuncjdns
|
uci set cjdns.cjdns.tun_device=tuncjdns
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue