cloudflare / cloudflare/boringtun
Slow work during testing on VM
- Dominant language
- Rust
- Stars
- 7.2k
- Forks
- 532
- PR merge metrics
- No merged PRs in 30d
Description
Hi 👋
I wanted to add mDNS support for wireguard and decided to take userspace module for it. But during the test I found the strange thing that the bandwidth dropped a lot and the ping increased in boringtun. This does not happen when switching to kernel or Go implementation (just switch WG_QUICK_USERSPACE_IMPLEMENTATION).
The latest version is used as mentioned in the README. This appeared after some time of testing. In the beginning everything was fine. As you can see the CPU is not busy.
```sh
vagrant@wgserver:~$ boringtun-cli -V
boringtun 0.6.0
vagrant@wgserver:~$ rustup -V
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.70.0 (90c541806 2023-05-31)`
vagrant@wgserver:~$ hostnamectl
Static hostname: wgserver
Pretty hostname: wg_server
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: 794e8af11ca343c3ac86176f4506a03e
Boot ID: 5c51191b3166487ea3d9dad3aa1ec591
Virtualization: oracle
Operating System: Ubuntu 23.04
Kernel: Linux 6.2.0-24-generic
Architecture: x86-64
Hardware Vendor: innotek GmbH
Hardware Model: VirtualBox
Firmware Version: VirtualBox
```
P.S. Maybe I should also mention in the README that `WG_QUICK_USERSPACE_IMPLEMENTATION` parameter doesn't work without fixes because it doesn't go into basic mode inside if
~ Sergei
Contributor guide
Research direction
Start by reproducing the degradation with boringtun-cli 0.6.0 on the reported Ubuntu 23.04 VirtualBox VM, comparing WG_QUICK_USERSPACE_IMPLEMENTATION with the kernel and Go implementations. Check the README and the reported basic-mode behavior of WG_QUICK_USERSPACE_IMPLEMENTATION. Done means the userspace implementation no longer develops the bandwidth and ping regression, and the parameter behavior is accurately documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100