1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-01 00:59:48 +00:00

runqemu/qemu-helper: Drop tunctl

ip tuntap provides the functionality that we obtained from tunctl. We only
needed tunctl when ifconfig was more available than ip. That isn't the case
now so we can drop tunctl and all the hoops we need to jump through to build
and provide it.

(From OE-Core rev: 2abfbca690ff00cb58ce08a65cde006578ee3de9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2023-06-15 17:59:06 +01:00
parent 3ee077f991
commit 609fc15718
7 changed files with 17 additions and 225 deletions
+5 -21
View File
@@ -1,11 +1,7 @@
#!/bin/bash
#
# Create a "bank" of tap network devices that can be used by the
# runqemu script. This script needs to be run as root, and will
# use the tunctl binary from the build system sysroot. Note: many Linux
# distros these days still use an older version of tunctl which does not
# support the group permissions option, hence the need to use the build
# system provided version.
# runqemu script. This script needs to be run as root
#
# Copyright (C) 2010 Intel Corp.
#
@@ -62,29 +58,17 @@ if [ ! -x "$RUNQEMU_IFUP" ]; then
exit 1
fi
TUNCTL=$STAGING_BINDIR_NATIVE/tunctl
ip_supports_tuntap=false
if interfaces=`ip tuntap list` 2>/dev/null; then
ip_supports_tuntap=true
interfaces=`echo "$interfaces |cut -f1 -d:`
elif [[ ! -x "$TUNCTL" || -d "$TUNCTL" ]]; then
echo "Error: $TUNCTL is not an executable"
usage
elif interfaces=`ip link` 2>/dev/null; then
interfaces=`echo "$interfaces" | sed '/^[0-9]\+: \(docker[0-9]\+\):.*/!d; s//\1/'`
else
echo "Failed to call 'ip link'" >&2
echo "Failed to call 'ip tuntap list'" >&2
exit 1
fi
# Ensure we start with a clean slate
for tap in $interfaces; do
echo "Note: Destroying pre-existing tap interface $tap..."
if $ip_supports_tuntap; then
ip tuntap del $tap mode tap
else
$TUNCTL -d $tap
fi
ip tuntap del $tap mode tap
done
rm -f /etc/runqemu-nosudo
@@ -95,8 +79,8 @@ fi
echo "Creating $COUNT tap devices for UID: $TUID GID: $GID..."
for ((index=0; index < $COUNT; index++)); do
echo "Creating tap$index"
if ! ifup=`$RUNQEMU_IFUP $TUID $GID $STAGING_BINDIR_NATIVE 2>&1`; then
echo "Error running tunctl: $ifup"
if ! ifup=`$RUNQEMU_IFUP $TUID $GID 2>&1`; then
echo "Error bringing up interface: $ifup"
exit 1
fi
done