Skip to content

Commit dfcd414

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 dfcd414

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-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: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,28 @@ 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 addr add 10.0.42.2/24 dev foo_veth1
42+
sudo ip link set dev foo_veth0 mtu $mtu
43+
sudo ip link set dev foo_veth1 mtu $mtu
44+
sudo ip link set foo_veth0 up
45+
sudo ip link set foo_veth1 up
46+
sudo ip link set foo_veth1 up
47+
sudo ip netns exec foo $IPERF3C 10.0.42.1
48+
sudo ip link del foo_veth0
49+
# foo_veth1 is deleted as well here
50+
sudo ip netns del foo
51+
set +x
52+
}
53+
3254
function benchmark::iperf3::main(){
3355
iperf3 -s > /dev/null &
3456
iperf3pid=$!
@@ -47,6 +69,7 @@ function benchmark::iperf3::main(){
4769
else
4870
benchmark::iperf3::vdeplug_slirp --mtu=$mtu
4971
fi
72+
benchmark::iperf3::rootful_veth --mtu=$mtu
5073
done
5174
kill $iperf3pid
5275
}

0 commit comments

Comments
 (0)