Development discussion of WireGuard
 help / color / mirror / Atom feed
* [ANNOUNCE] WireGuard Snapshot `0.0.20180118` Available
@ 2018-01-18 15:43 Jason A. Donenfeld
  2018-01-18 17:13 ` Sebastian Gottschall
  0 siblings, 1 reply; 5+ messages in thread
From: Jason A. Donenfeld @ 2018-01-18 15:43 UTC (permalink / raw)
  To: WireGuard mailing list

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hello,

A new snapshot, `0.0.20180118`, has been tagged in the git repository.

Please note that this snapshot is, like the rest of the project at this point
in time, experimental, and does not consitute a real release that would be
considered secure and bug-free. WireGuard is generally thought to be fairly
stable, and most likely will not crash your computer (though it may).
However, as this is a pre-release snapshot, it comes with no guarantees, and
its security is not yet to be depended on; it is not applicable for CVEs.

With all that said, if you'd like to test this snapshot out, there are a
few relevent changes.

== Changes ==

  * receive: treat packet checking as irrelevant for timers
  
  Small simplification to the state machine, as discussed with Mathias
  Hall-Andersen.
  
  * socket: check for null socket before fishing out sport
  * wg-quick: ifnames have max len of 15
  * tools: plug memleak in config error path
  
  Important bug fixes.
  
  * external-tests: add python implementation
  
  Piotr Lizonczyk has contributed a test vector written in Python.
  
  * poly1305: remove indirect calls
  
  From Samuel Neves, we now are in a better position to mitigate speculative
  execution attacks.
  
  * curve25519: modularize implementation
  * curve25519: import 32-bit fiat-crypto implementation
  * curve25519: import 64-bit hacl-star implementation
  * curve25519: resolve symbol clash between fe types
  * curve25519: wire up new impls and remove donna
  * tools: import new curve25519 implementations
  * contrib: keygen-html: update curve25519 implementation
  
  Two of our Curve25519 implementations now use formally verified C. Read this
  mailing list post for more information:
    https://lists.zx2c4.com/pipermail/wireguard/2018-January/002304.html

As always, the source is available at https://git.zx2c4.com/WireGuard/ and
information about the project is available at https://www.wireguard.com/ .

This snapshot is available in tarball form here:
  https://git.zx2c4.com/WireGuard/snapshot/WireGuard-0.0.20180118.tar.xz
  SHA2-256: 463f3b402deb66b7ceac8df2d50944f32683933356455d6c1c7453926db3a8a3
  BLAKE2b-256: fe7e3f12c084e50bf2794abafbe8aee48d58f318d508a59c0a4d2b27505b9d01

If you're a snapshot package maintainer, please bump your package version. If
you're a user, the WireGuard team welcomes any and all feedback on this latest
snapshot.

Finally, WireGuard development thrives on donations. By popular demand, we
have a webpage for this: https://www.wireguard.com/donations/

Thank you,
Jason Donenfeld


-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEEq5lC5tSkz8NBJiCnSfxwEqXeA64FAlpgwKsQHGphc29uQHp4
MmM0LmNvbQAKCRBJ/HASpd4Drpz+D/9HDOJct7M9kqeHl/jZO3q/ozla1XNYj7cm
6lGdRNWbaX9MM+Gcuq/5X/CX4J0UKP68DQIQB1B5u6uFe0PeGvwz7Pgd16vxMIPU
vk7PKVeiQ4dHX81lBG201k9uI+ZmYaJexsiL0lFIQ62WFEGH3ckMgOg3ZeXHs5hx
FaEqymV/Sn6RguWD+VKPcdK3WVBYorRUUzBXg+FQocR6UB0dgNqcLazPScVpn4W9
Kurfvru2UoWBXDPicMY+yqJEq52ArS5corHeu06Cu1E8W2gWce+EScJudMOeJzcF
60imzKDJojfazvXR2WAkkVdQxZ8owi79EO716j70R/TZhHO4oUnCOqwDn/s2zpBy
goqRuIqBr5Y8wFNwA10RUfo4rfWP2ltBvmRqwKKNGVo4VKuyVS7FMXEikxZedkKq
e8r+rThW3e7P8dlVq0VhskcrMIYeXvgHVgXdyclie4WRIMyGIfH08pCwuVHnMpta
Mld/Pfj41Aus3AwqC2iiFmtPulWSrUJXm4eQk+qI41XvXLC36Z82b/SPoFb53uIX
VVFljuIXHpQseImGvNynqCFqHVypXPqVUz8jbGINvZnocZPAz2fI7bLPXigTV5PR
3bGRRu8TNi7afmZsMW2jzT2EzXO1mFKEY1NVSoxk41/b3ZOZX6Y+a9SuVhAfQdk0
QX8FwAfsYQ==
=1i3k
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ANNOUNCE] WireGuard Snapshot `0.0.20180118` Available
  2018-01-18 15:43 [ANNOUNCE] WireGuard Snapshot `0.0.20180118` Available Jason A. Donenfeld
@ 2018-01-18 17:13 ` Sebastian Gottschall
  2018-01-18 17:27   ` Jason A. Donenfeld
  0 siblings, 1 reply; 5+ messages in thread
From: Sebastian Gottschall @ 2018-01-18 17:13 UTC (permalink / raw)
  To: wireguard

i have a comment for you. the new fiat crypto implementation blows up 
the code very much. inlining all those functions makes the driver 150kb 
bigger (tested on armv7)
but however the cache line size on embedded cpus is very small. often 
just 32 kb, so inlining such big massive code structures may have a 
negative performance effect.
remove these inlines and let the compiler decide, they are static, so 
the compiler will inline them if neccessary

Sebastian


Am 18.01.2018 um 16:43 schrieb Jason A. Donenfeld:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Hello,
>
> A new snapshot, `0.0.20180118`, has been tagged in the git repository.
>
> Please note that this snapshot is, like the rest of the project at this point
> in time, experimental, and does not consitute a real release that would be
> considered secure and bug-free. WireGuard is generally thought to be fairly
> stable, and most likely will not crash your computer (though it may).
> However, as this is a pre-release snapshot, it comes with no guarantees, and
> its security is not yet to be depended on; it is not applicable for CVEs.
>
> With all that said, if you'd like to test this snapshot out, there are a
> few relevent changes.
>
> == Changes ==
>
>    * receive: treat packet checking as irrelevant for timers
>    
>    Small simplification to the state machine, as discussed with Mathias
>    Hall-Andersen.
>    
>    * socket: check for null socket before fishing out sport
>    * wg-quick: ifnames have max len of 15
>    * tools: plug memleak in config error path
>    
>    Important bug fixes.
>    
>    * external-tests: add python implementation
>    
>    Piotr Lizonczyk has contributed a test vector written in Python.
>    
>    * poly1305: remove indirect calls
>    
>    From Samuel Neves, we now are in a better position to mitigate speculative
>    execution attacks.
>    
>    * curve25519: modularize implementation
>    * curve25519: import 32-bit fiat-crypto implementation
>    * curve25519: import 64-bit hacl-star implementation
>    * curve25519: resolve symbol clash between fe types
>    * curve25519: wire up new impls and remove donna
>    * tools: import new curve25519 implementations
>    * contrib: keygen-html: update curve25519 implementation
>    
>    Two of our Curve25519 implementations now use formally verified C. Read this
>    mailing list post for more information:
>      https://lists.zx2c4.com/pipermail/wireguard/2018-January/002304.html
>
> As always, the source is available at https://git.zx2c4.com/WireGuard/ and
> information about the project is available at https://www.wireguard.com/ .
>
> This snapshot is available in tarball form here:
>    https://git.zx2c4.com/WireGuard/snapshot/WireGuard-0.0.20180118.tar.xz
>    SHA2-256: 463f3b402deb66b7ceac8df2d50944f32683933356455d6c1c7453926db3a8a3
>    BLAKE2b-256: fe7e3f12c084e50bf2794abafbe8aee48d58f318d508a59c0a4d2b27505b9d01
>
> If you're a snapshot package maintainer, please bump your package version. If
> you're a user, the WireGuard team welcomes any and all feedback on this latest
> snapshot.
>
> Finally, WireGuard development thrives on donations. By popular demand, we
> have a webpage for this: https://www.wireguard.com/donations/
>
> Thank you,
> Jason Donenfeld
>
>
> -----BEGIN PGP SIGNATURE-----
>
> iQJEBAEBCAAuFiEEq5lC5tSkz8NBJiCnSfxwEqXeA64FAlpgwKsQHGphc29uQHp4
> MmM0LmNvbQAKCRBJ/HASpd4Drpz+D/9HDOJct7M9kqeHl/jZO3q/ozla1XNYj7cm
> 6lGdRNWbaX9MM+Gcuq/5X/CX4J0UKP68DQIQB1B5u6uFe0PeGvwz7Pgd16vxMIPU
> vk7PKVeiQ4dHX81lBG201k9uI+ZmYaJexsiL0lFIQ62WFEGH3ckMgOg3ZeXHs5hx
> FaEqymV/Sn6RguWD+VKPcdK3WVBYorRUUzBXg+FQocR6UB0dgNqcLazPScVpn4W9
> Kurfvru2UoWBXDPicMY+yqJEq52ArS5corHeu06Cu1E8W2gWce+EScJudMOeJzcF
> 60imzKDJojfazvXR2WAkkVdQxZ8owi79EO716j70R/TZhHO4oUnCOqwDn/s2zpBy
> goqRuIqBr5Y8wFNwA10RUfo4rfWP2ltBvmRqwKKNGVo4VKuyVS7FMXEikxZedkKq
> e8r+rThW3e7P8dlVq0VhskcrMIYeXvgHVgXdyclie4WRIMyGIfH08pCwuVHnMpta
> Mld/Pfj41Aus3AwqC2iiFmtPulWSrUJXm4eQk+qI41XvXLC36Z82b/SPoFb53uIX
> VVFljuIXHpQseImGvNynqCFqHVypXPqVUz8jbGINvZnocZPAz2fI7bLPXigTV5PR
> 3bGRRu8TNi7afmZsMW2jzT2EzXO1mFKEY1NVSoxk41/b3ZOZX6Y+a9SuVhAfQdk0
> QX8FwAfsYQ==
> =1i3k
> -----END PGP SIGNATURE-----
> _______________________________________________
> WireGuard mailing list
> WireGuard@lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/wireguard
>

-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ANNOUNCE] WireGuard Snapshot `0.0.20180118` Available
  2018-01-18 17:13 ` Sebastian Gottschall
@ 2018-01-18 17:27   ` Jason A. Donenfeld
  2018-01-18 17:39     ` Sebastian Gottschall
  0 siblings, 1 reply; 5+ messages in thread
From: Jason A. Donenfeld @ 2018-01-18 17:27 UTC (permalink / raw)
  To: Sebastian Gottschall; +Cc: WireGuard mailing list

Thanks for the feedback. Indeed I'll have to go through this and
un-inline a few functions, and retest for performance.

If you wind up doing this iteratively and testing, please let me know
what you find.

Jason

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ANNOUNCE] WireGuard Snapshot `0.0.20180118` Available
  2018-01-18 17:27   ` Jason A. Donenfeld
@ 2018-01-18 17:39     ` Sebastian Gottschall
  2018-01-18 17:44       ` Jason A. Donenfeld
  0 siblings, 1 reply; 5+ messages in thread
From: Sebastian Gottschall @ 2018-01-18 17:39 UTC (permalink / raw)
  To: Jason A. Donenfeld; +Cc: WireGuard mailing list

Am 18.01.2018 um 18:27 schrieb Jason A. Donenfeld:
> Thanks for the feedback. Indeed I'll have to go through this and
> un-inline a few functions, and retest for performance.
>
> If you wind up doing this iteratively and testing, please let me know
> what you find.
i will do some benchmarks later. i already did this
another interesting patch i made locally was compiling all sources as 
single by including a c files into a single small c source.
this allows me to set all functions to static, so the compiler will 
remove unused code and is able to uninline things which are neccessary
side effect. the compiled ko binary is 20% smaller :-)
>
> Jason
>

-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ANNOUNCE] WireGuard Snapshot `0.0.20180118` Available
  2018-01-18 17:39     ` Sebastian Gottschall
@ 2018-01-18 17:44       ` Jason A. Donenfeld
  0 siblings, 0 replies; 5+ messages in thread
From: Jason A. Donenfeld @ 2018-01-18 17:44 UTC (permalink / raw)
  To: Sebastian Gottschall; +Cc: WireGuard mailing list

On Thu, Jan 18, 2018 at 6:39 PM, Sebastian Gottschall
<s.gottschall@dd-wrt.com> wrote:
> i will do some benchmarks later. i already did this

https://git.zx2c4.com/WireGuard/commit/?id=91aedc06052856e4ac54dd48b1f6cb5ea4b3ba2e

This works well. But would you spend some time trying to get a more
optimal result and produce some precise numbers for your hardware?

> another interesting patch i made locally was compiling all sources as single
> by including a c files into a single small c source.
> this allows me to set all functions to static, so the compiler will remove
> unused code and is able to uninline things which are neccessary
> side effect. the compiled ko binary is 20% smaller :-)

Yep, old idea, but indeed works well. Too bad Linux doesn't have LTO.

Do you have a link to the kernel sources you're using?

Jason

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-01-18 17:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-18 15:43 [ANNOUNCE] WireGuard Snapshot `0.0.20180118` Available Jason A. Donenfeld
2018-01-18 17:13 ` Sebastian Gottschall
2018-01-18 17:27   ` Jason A. Donenfeld
2018-01-18 17:39     ` Sebastian Gottschall
2018-01-18 17:44       ` Jason A. Donenfeld

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).