vpp/test/vpp_qemu_utils.py
Naveen Joy 7ea7ab5f21 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>
2022-08-04 12:19:35 -07:00

21 lines
536 B
Python

#!/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)