varrun="/run/waydroid-lxc"
varlib="/var/lib"
+net_link_key="lxc.net.0.link"
+case "$(lxc-info --version)" in [012].*) net_link_key="lxc.network.link" ;; esac
+vnic=$(awk "\$1 == \"$net_link_key\" {print \$3}" /var/lib/waydroid/lxc/waydroid/config)
+: ${vnic:=waydroid0}
+
+if [ "$vnic" != "waydroid0" ]; then
+ echo "vnic is $vnic, bailing out"
+ exit 0
+else
+ echo "vnic is waydroid0"
+fi
USE_LXC_BRIDGE="true"
-LXC_BRIDGE="waydroid0"
+LXC_BRIDGE="${vnic}"
LXC_BRIDGE_MAC="00:16:3e:00:00:01"
-LXC_ADDR="192.168.250.1"
+LXC_ADDR="192.168.240.1"
LXC_NETMASK="255.255.255.0"
-LXC_NETWORK="192.168.250.0/24"
-LXC_DHCP_RANGE="192.168.250.2,192.168.250.254"
+LXC_NETWORK="192.168.240.0/24"
+LXC_DHCP_RANGE="192.168.240.2,192.168.240.254"
LXC_DHCP_MAX="253"
LXC_DHCP_CONFILE=""
LXC_DHCP_PING="true"
LXC_IPV6_NETWORK=""
LXC_IPV6_NAT="false"
-IPTABLES_BIN="$(which iptables-legacy)"
+IPTABLES_BIN="$(command -v iptables-legacy)"
if [ ! -n "$IPTABLES_BIN" ]; then
- IPTABLES_BIN="$(which iptables)"
+ IPTABLES_BIN="$(command -v iptables)"
fi
-IP6TABLES_BIN="$(which ip6tables-legacy)"
+IP6TABLES_BIN="$(command -v ip6tables-legacy)"
if [ ! -n "$IP6TABLES_BIN" ]; then
- IP6TABLES_BIN="$(which ip6tables)"
+ IP6TABLES_BIN="$(command -v ip6tables)"
fi
use_nft() {
[ -n "$NFT" ] && nft list ruleset > /dev/null 2>&1 && [ "$LXC_USE_NFT" = "true" ]
}
-NFT="$(which nft)"
+NFT="$(command -v nft)"
if ! use_nft; then
use_iptables_lock="-w"
$IPTABLES_BIN -w -L -n > /dev/null 2>&1 || use_iptables_lock=""
start() {
[ "x$USE_LXC_BRIDGE" = "xtrue" ] || { exit 0; }
- [ ! -f "${varrun}/network_up" ] || { echo "waydroid-net is already running"; exit 1; }
+ [ ! -f "${varrun}/network_up" ] || { echo "waydroid-net is already running"; exit 0; }
if [ -d /sys/class/net/${LXC_BRIDGE} ]; then
stop force || true
# can't write its pid into, so we restorecon it (to var_run_t)
if [ ! -d "${varrun}" ]; then
mkdir -p "${varrun}"
- if which restorecon >/dev/null 2>&1; then
+ if command -v restorecon >/dev/null 2>&1; then
restorecon "${varrun}"
fi
fi
LXC_DHCP_PING_ARG="--no-ping"
fi
+ if [ ! -d "${varlib}"/misc ]; then
+ mkdir "${varlib}"/misc
+ fi
+
dnsmasq $LXC_DHCP_CONFILE_ARG $LXC_DOMAIN_ARG $LXC_DHCP_PING_ARG -u ${DNSMASQ_USER} \
--strict-order --bind-interfaces --pid-file="${varrun}"/dnsmasq.pid \
--listen-address ${LXC_ADDR} --dhcp-range ${LXC_DHCP_RANGE} \