Skip to content

Commit 7df7350

Browse files
committed
test: add rootful_veth benchmark for comparison
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
1 parent 5e59e1b commit 7df7350

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

hack/test/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,11 @@ RUN git clone https://github.com/rd235/vdeplug_slirp.git /vdeplug_slirp && \
3838

3939
FROM ubuntu AS test
4040
# busybox is only for debugging purpose
41-
RUN apt update && apt install -y iperf3 uidmap iproute2 busybox
41+
# sudo is only for rootful veth benchmark (for comparison)
42+
RUN apt update && apt install -y iperf3 uidmap iproute2 busybox sudo
4243
RUN useradd --create-home --home-dir /home/user --uid 1000 user \
43-
&& mkdir -p /run/user/1000
44+
&& mkdir -p /run/user/1000 \
45+
&& echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/user
4446
COPY --from=rootlesskit /rootlesskit /home/user/bin/
4547
COPY --from=slirp4netns /slirp4netns/slirp4netns /home/user/bin/
4648
COPY --from=vpnkit /vpnkit/vpnkit.exe /home/user/bin/vpnkit

hack/test/docker-entrypoint.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,26 @@ function benchmark::iperf3::vdeplug_slirp(){
2929
set +x
3030
}
3131

32+
function benchmark::iperf3::rootful_veth(){
33+
INFO "[benchmark:iperf3] rootful_veth ($@) for reference"
34+
# only --mtu=MTU is supposed as $@
35+
mtu=$(echo $@ | sed -e s/--mtu=//g)
36+
set -x
37+
sudo ip netns add foo
38+
sudo ip link add foo_veth0 type veth peer name foo_veth1
39+
sudo ip link set foo_veth1 netns foo
40+
sudo ip addr add 10.0.42.1/24 dev foo_veth0
41+
sudo ip -netns foo addr add 10.0.42.2/24 dev foo_veth1
42+
sudo ip link set dev foo_veth0 mtu $mtu
43+
sudo ip -netns foo link set dev foo_veth1 mtu $mtu
44+
sudo ip link set foo_veth0 up
45+
sudo ip -netns foo link set foo_veth1 up
46+
sudo ip netns exec foo $IPERF3C 10.0.42.1
47+
sudo ip link del foo_veth0
48+
sudo ip netns del foo
49+
set +x
50+
}
51+
3252
function benchmark::iperf3::main(){
3353
iperf3 -s > /dev/null &
3454
iperf3pid=$!
@@ -47,6 +67,7 @@ function benchmark::iperf3::main(){
4767
else
4868
benchmark::iperf3::vdeplug_slirp --mtu=$mtu
4969
fi
70+
benchmark::iperf3::rootful_veth --mtu=$mtu
5071
done
5172
kill $iperf3pid
5273
}

0 commit comments

Comments
 (0)