X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/22f671bf0520df68fc6b3cf106e1fc97f462da86..66c8343c4d2ea118601ba5d8ce52fa622cbcd665:/data/scripts/waydroid-net.sh diff --git a/data/scripts/waydroid-net.sh b/data/scripts/waydroid-net.sh index f01690f..3ce3910 100755 --- a/data/scripts/waydroid-net.sh +++ b/data/scripts/waydroid-net.sh @@ -2,14 +2,25 @@ 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" @@ -21,20 +32,20 @@ LXC_IPV6_MASK="" 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="" @@ -117,7 +128,7 @@ add rule ip lxc postrouting ip saddr ${LXC_NETWORK} ip daddr != ${LXC_NETWORK} c 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 @@ -147,7 +158,7 @@ start() { # 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 @@ -182,6 +193,10 @@ start() { 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} \