Skip to content

Commit 2dec4c0

Browse files
committed
test: add rootful_veth benchmark for comparison
Signed-off-by: Akihiro Suda <[email protected]>
1 parent 5e59e1b commit 2dec4c0

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

hack/test/Dockerfile

+4-2
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

+22
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,27 @@ 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 netns exec foo $IPERF3C 10.0.42.1
47+
sudo ip link del foo_veth0
48+
# foo_veth1 is deleted as well here
49+
sudo ip netns del foo
50+
set +x
51+
}
52+
3253
function benchmark::iperf3::main(){
3354
iperf3 -s > /dev/null &
3455
iperf3pid=$!
@@ -47,6 +68,7 @@ function benchmark::iperf3::main(){
4768
else
4869
benchmark::iperf3::vdeplug_slirp --mtu=$mtu
4970
fi
71+
benchmark::iperf3::rootful_veth --mtu=$mtu
5072
done
5173
kill $iperf3pid
5274
}

0 commit comments

Comments
 (0)