summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Freihofer <adrian.freihofer@siemens.com>2025-07-12 14:50:43 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-07-14 17:49:48 +0100
commit6858e5f0c8a9f5a7bde4367edfc6b04361a52940 (patch)
treea8c3fb4983fdc206508fffba22d286df632fc112
parent873430cecaa512bb2055c79d69733f8601523049 (diff)
downloadpoky-6858e5f0c8a9f5a7bde4367edfc6b04361a52940.tar.gz
oeqa/utils/command: simplify tap detection
Simplify the code by removing the fallback to ifconfig if the ip command is not available. ip commands are nowadays available on all host machines. The transition from ifconfig to ip has taken place long time ago e.g. for the runqemu-gen-tapdevs script. This also fixes the detection of tap devices if the tap devices are not named tap0, tap1, etc. but have a different name, e.g. foo0, foo1 which is the case if the OE_TAP_NAME environment variable is set. Some examples: $ ip tuntap show mode tap $ sudo ./scripts/runqemu-gen-tapdevs 1000 2 Creating 2 tap devices for GID: 1000... Creating tap0 Creating tap1 ... $ ip tuntap show mode tap tap0: tap persist group 1000 tap1: tap persist group 1000 $ sudo ./scripts/runqemu-gen-tapdevs 1000 0 Note: Destroying pre-existing tap interface tap0... Note: Destroying pre-existing tap interface tap1... $ ip tuntap show mode tap $ sudo OE_TAP_NAME=foo ./scripts/runqemu-gen-tapdevs 1000 2 Creating 2 tap devices for GID: 1000... Creating foo0 Creating foo1 ... $ ip tuntap show mode tap foo0: tap persist group 1000 foo1: tap persist group 1000 $ sudo OE_TAP_NAME=foo ./scripts/runqemu-gen-tapdevs 1000 0 Note: Destroying pre-existing tap interface foo0... Note: Destroying pre-existing tap interface foo1... $ ip tuntap show mode tap (From OE-Core rev: 6459ea7c019bcb7a486d286dd964eeeeab99c37d) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/utils/commands.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py
index e049e1ee68..9154220968 100644
--- a/meta/lib/oeqa/utils/commands.py
+++ b/meta/lib/oeqa/utils/commands.py
@@ -405,13 +405,11 @@ def runqemu_check_taps():
405 """Check if tap devices for runqemu are available""" 405 """Check if tap devices for runqemu are available"""
406 if not os.path.exists('/etc/runqemu-nosudo'): 406 if not os.path.exists('/etc/runqemu-nosudo'):
407 return False 407 return False
408 result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) 408 result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show mode tap', ignore_status=True)
409 if result.status != 0: 409 if result.status != 0:
410 result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) 410 return False
411 if result.status != 0:
412 return False
413 for line in result.output.splitlines(): 411 for line in result.output.splitlines():
414 if line.startswith('tap'): 412 if 'tap' in line:
415 break 413 break
416 else: 414 else:
417 return False 415 return False