Comments (17)
I've posted v0.5.3 now
from boringtun.
If you know how to debug this and its interesting , I will be glad to hear :)
(I am not a Rust professional)
from boringtun.
I tested with a remote server (one of VM - cloud VM) and got the same results
from boringtun.
Interesting!
Can you walk through the different versions and see if this is a regression?
from boringtun.
The cli used to just be boringtun
, before we split the crates.
from boringtun.
I will try it again in the cloud and if it works, I will write 👍
from boringtun.
On clean new env same speed BUT now we have 100% CPU. Just same, one core. Load not from iperf side, because in load less 1%. By kernel I guess.
P.S. Kernel and wg-go OK
Also OS version is different + kernel 5.15:
> hostnamectl
Static hostname: server
Icon name: computer-vm
Chassis: vm
Machine ID: bfa83f0910c74cd0b5936a1ec423c924
Boot ID: 9701f19ae2814bb5ae25d01104db086a
Virtualization: microsoft
Operating System: Ubuntu 22.04.2 LTS
Kernel: Linux 5.15.0-76-generic
Architecture: x86-64
Hardware Vendor: Red Hat
Hardware Model: KVM
![image](https://private-user-images.githubusercontent.com/13949080/252056684-57dae5db-c938-4079-9663-6aeb15467385.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDc1OTUyODEsIm5iZiI6MTcwNzU5NDk4MSwicGF0aCI6Ii8xMzk0OTA4MC8yNTIwNTY2ODQtNTdkYWU1ZGItYzkzOC00MDc5LTk2NjMtNmFlYjE1NDY3Mzg1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMjEwVDE5NTYyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkwNTJhMjdkMTRhNzEwN2ViODRiYTFiYjZiM2VjZjM1ZDAwYzE4NmE2ZGE1NjFlOGNjNGRhMDI3M2JkNGMwZTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Tkq-k7I8QAWB2ipYAaNrraxoZX38r5ggAS7VbbVVSAo)
![image](https://private-user-images.githubusercontent.com/13949080/252056719-5dae5acd-1d9d-4425-b8fd-60f92f4fff63.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDc1OTUyODEsIm5iZiI6MTcwNzU5NDk4MSwicGF0aCI6Ii8xMzk0OTA4MC8yNTIwNTY3MTktNWRhZTVhY2QtMWQ5ZC00NDI1LWI4ZmQtNjBmOTJmNGZmZjYzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMjEwVDE5NTYyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk0MjMwOTI5ZThjM2I0ODJlNTI0YWY1MGE4ZDBjNTI2ZTNkMzBhMWYyZDJmNTczYmM5Yzc0M2MxYWQ3MWU2YjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.J3IW-zyXqZZhi1A3u-b51JEvYNabl_V3qrIcYO4K3Y8)
from boringtun.
v0.5.2 - have a problem during installation.
cargo install [email protected]
Output:
...many errors...
...
error[E0412]: cannot find type `StaticSecret` in crate `x25519_dalek`
--> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/boringtun-0.5.2/src/noise/mod.rs:295:39
|
295 | static_private: x25519_dalek::StaticSecret,
| ^^^^^^^^^^^^ help: a struct with a similar name exists: `SharedSecret`
|
::: /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/x25519-dalek-2.0.0-rc.3/src/x25519.rs:275:1
|
275 | pub struct SharedSecret(pub(crate) MontgomeryPoint);
| ----------------------- similarly named struct `SharedSecret` defined here
error[E0412]: cannot find type `StaticSecret` in crate `x25519_dalek`
--> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/boringtun-0.5.2/src/noise/mod.rs:331:39
|
331 | static_private: x25519_dalek::StaticSecret,
| ^^^^^^^^^^^^ help: a struct with a similar name exists: `SharedSecret`
|
::: /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/x25519-dalek-2.0.0-rc.3/src/x25519.rs:275:1
|
275 | pub struct SharedSecret(pub(crate) MontgomeryPoint);
| ----------------------- similarly named struct `SharedSecret` defined here
Some errors have detailed explanations: E0412, E0433.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `boringtun` (lib) due to 13 previous errors
error: failed to compile `boringtun-cli v0.5.2`, intermediate artifacts can be found at `/tmp/cargo-installqRD3Ni`
from boringtun.
@Noah-Kennedy can you try to reproduce it?
from boringtun.
Ignore v0.5.2, I need to yank it and put out a patch release due to an issue with how cargo resolves release candidate semver.
from boringtun.
Do we have CLI for v0.5.3?
> cargo install [email protected]
Updating crates.io index
error: there is nothing to install in `boringtun v0.5.3`, because it has no binaries
`cargo install` is only for installing programs, and can't be used with libraries.
To use a library crate, add it as a dependency to a Cargo project with `cargo add`.
from boringtun.
I built from source - works great! Same servers as before.
sudo WG_QUICK_USERSPACE_IMPLEMENTATION=/root/boringtun/target/release/boringtun-cli WG_SUDO=1 wg-quick up wg0
> iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 10.8.0.2, port 39806
[ 5] local 10.8.0.1 port 5201 connected to 10.8.0.2 port 39812
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 21.0 MBytes 176 Mbits/sec
[ 5] 1.00-2.00 sec 23.1 MBytes 194 Mbits/sec
[ 5] 2.00-3.00 sec 22.3 MBytes 187 Mbits/sec
[ 5] 3.00-4.00 sec 21.7 MBytes 182 Mbits/sec
[ 5] 4.00-5.00 sec 21.9 MBytes 184 Mbits/sec
[ 5] 5.00-6.00 sec 21.3 MBytes 178 Mbits/sec
[ 5] 6.00-7.00 sec 22.7 MBytes 191 Mbits/sec
[ 5] 7.00-8.00 sec 23.1 MBytes 194 Mbits/sec
[ 5] 8.00-9.00 sec 21.3 MBytes 179 Mbits/sec
[ 5] 9.00-10.00 sec 21.8 MBytes 183 Mbits/sec
[ 5] 10.00-10.04 sec 942 KBytes 177 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.04 sec 221 MBytes 185 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
![image](https://private-user-images.githubusercontent.com/13949080/252131825-2ef4492f-34f6-4ddb-908b-159628f4831c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDc1OTUyODEsIm5iZiI6MTcwNzU5NDk4MSwicGF0aCI6Ii8xMzk0OTA4MC8yNTIxMzE4MjUtMmVmNDQ5MmYtMzRmNi00ZGRiLTkwOGItMTU5NjI4ZjQ4MzFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMjEwVDE5NTYyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgwMmIyYWFkYWExODliMmZhZDkzYTUwZDlkOTcxNGQzNTRmNTY5OWRlODY4YTQyNzNhYzMyMjMxMzJlMjlkN2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.s8fDxNPpg2VW2_3ND_D0e9pu966DsOwrr4mu4U0PX1M)
Without WG:
> iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 10.8.0.2, port 32888
[ 5] local 10.8.0.1 port 5201 connected to 10.8.0.2 port 32894
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 21.1 MBytes 177 Mbits/sec
[ 5] 1.00-2.00 sec 24.0 MBytes 201 Mbits/sec
[ 5] 2.00-3.00 sec 22.7 MBytes 190 Mbits/sec
[ 5] 3.00-4.00 sec 25.0 MBytes 210 Mbits/sec
[ 5] 4.00-5.00 sec 24.3 MBytes 204 Mbits/sec
[ 5] 5.00-6.00 sec 23.9 MBytes 201 Mbits/sec
[ 5] 6.00-7.00 sec 24.1 MBytes 202 Mbits/sec
[ 5] 7.00-8.00 sec 22.6 MBytes 189 Mbits/sec
[ 5] 8.00-9.00 sec 21.2 MBytes 178 Mbits/sec
[ 5] 9.00-10.00 sec 23.3 MBytes 196 Mbits/sec
[ 5] 10.00-10.05 sec 1017 KBytes 181 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.05 sec 233 MBytes 195 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
from boringtun.
So it's OK in v0.5.2
from boringtun.
Do we have CLI for v0.5.3?
> cargo install [email protected] Updating crates.io index error: there is nothing to install in `boringtun v0.5.3`, because it has no binaries `cargo install` is only for installing programs, and can't be used with libraries. To use a library crate, add it as a dependency to a Cargo project with `cargo add`.
Oh, sorry, I should have mentioned, I pushed up a new library version, the cli will just use 0.5.3 since its the latest matching that semver.
from boringtun.
So it's OK in v0.5.2
Interesting, I'll have a look at what changed
from boringtun.
I have similar issue with v0.6.0. With v0.6.0 I get 8.23 Mbits/sec
vs v0.5.2 with ~ 1.10 Gbits/sec
. Running on x84_64 KVM VMs with Ubuntu 22.04 (5.15.0-83-generic).
from boringtun.
@Noah-Kennedy ping me if you want to recheck it with fixes 🙂
from boringtun.
Related Issues (20)
- [ server_mode ] Cannot connect , 1970-01-01 Timestamp for latest handshake, no data sent to client
- Is this crate still "undergoing a restructuring"? HOT 1
- Usage documentation or samples for Android and iOS HOT 1
- `wg set private-key` does not give any output with `wg show`
- Example to test functionality
- Failed to initialize tunnel HOT 1
- The wireguard_write encryption result is different from the official one HOT 5
- libboringtun.so shared lib
- Decapsulate error InvalidCounter (not a huge problem, just curious why it happens and whether I should worry) HOT 2
- Tag 0.6.0?
- Intermittent connection loss with HANDSHAKE(REKEY_TIMEOUT) errors HOT 11
- Add support for mips(el) with ring 0.17.0
- Failed to initialize tunnel, error: Socket kind: NotFound
- any benchmarks against Wireguard? HOT 5
- Apple Silicon Support? HOT 2
- i found it's hard to compile this project to shared lib for android, lets share it here HOT 1
- Bad latest handshake timestamp and keepalives not being sent
- Fails to create API socket when /var/lib/wireguard does not exist
- Appetite for refactoring to be SANS-IO (including time?)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from boringtun.