diff options
author | Naveen Joy <najoy@cisco.com> | 2021-05-11 10:31:18 -0700 |
---|---|---|
committer | Naveen Joy <najoy@cisco.com> | 2022-08-04 12:19:35 -0700 |
commit | 7ea7ab5f215a95dbc1a38acc03b7fea6d3dbedcf (patch) | |
tree | 0fbc23c6fc67019a785c577204ca01a26272a173 /test/vpp_qemu_utils.py | |
parent | 157e4f5d249a262bd8a9c920b8591411e179763c (diff) |
tests: run a test inside a QEMU VM
Use the script test/run.py to run a test named test_vm_tap
inside a QEMU VM. The run script builds out a virtual env,
launches a light weight QEMU VM, mounts host directories,
starts VPP inside the VM and runs the test. The test named
test_vm_tap, creates two tap v2 interfaces in separate Linux
namespaces and using iPerf, streams traffic between the VM
and VPP. All data files are stored in the directory named
/tmp/vpp-vm-tests. To clean up, use the make test-wipe
command.
Usage:
test/run.py --vm --debug --test test_vm_tap
Type: improvement
Change-Id: I4425dbef52acee1e5b8af5acaa169b89a2c0f171
Signed-off-by: Naveen Joy <najoy@cisco.com>
Diffstat (limited to 'test/vpp_qemu_utils.py')
-rw-r--r-- | test/vpp_qemu_utils.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/vpp_qemu_utils.py b/test/vpp_qemu_utils.py new file mode 100644 index 00000000000..50fc1c865a6 --- /dev/null +++ b/test/vpp_qemu_utils.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python + +# Utility functions for QEMU tests ## + +import subprocess + + +def create_namespace(ns): + try: + subprocess.run(["ip", "netns", "add", ns]) + except subprocess.CalledProcessError as e: + raise Exception("Error creating namespace:", e.output) + + +def list_namespace(ns): + """List the IP address of a namespace""" + try: + subprocess.run(["ip", "netns", "exec", ns, "ip", "addr"]) + except subprocess.CalledProcessError as e: + raise Exception("Error listing namespace IP:", e.output) |