Permalink
Browse files

merge: WireGuard

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
  • Loading branch information...
RobertCNelson committed Oct 20, 2018
1 parent 8a1770e commit d20a27887f51ae79bb749c27c5851f3954aeee06
Showing with 48,831 additions and 0 deletions.
  1. +1 −0 net/Kconfig
  2. +1 −0 net/Makefile
  3. +32 −0 net/wireguard/Kconfig
  4. +14 −0 net/wireguard/Makefile
  5. +413 −0 net/wireguard/allowedips.c
  6. +54 −0 net/wireguard/allowedips.h
  7. +82 −0 net/wireguard/compat/Makefile.include
  8. +208 −0 net/wireguard/compat/checksum/checksum_partial_compat.h
  9. +43 −0 net/wireguard/compat/compat-asm.h
  10. +808 −0 net/wireguard/compat/compat.h
  11. +175 −0 net/wireguard/compat/dst_cache/dst_cache.c
  12. +97 −0 net/wireguard/compat/dst_cache/include/net/dst_cache.h
  13. +1 −0 net/wireguard/compat/fpu-x86/include/asm/fpu/api.h
  14. +73 −0 net/wireguard/compat/intel-family-x86/include/asm/intel-family.h
  15. +5 −0 net/wireguard/compat/memneq/include.h
  16. +170 −0 net/wireguard/compat/memneq/memneq.c
  17. +7 −0 net/wireguard/compat/neon-arm/include/asm/neon.h
  18. +640 −0 net/wireguard/compat/ptr_ring/include/linux/ptr_ring.h
  19. +21 −0 net/wireguard/compat/simd-asm/include/asm/simd.h
  20. +70 −0 net/wireguard/compat/simd/include/linux/simd.h
  21. +140 −0 net/wireguard/compat/siphash/include/linux/siphash.h
  22. +539 −0 net/wireguard/compat/siphash/siphash.c
  23. +94 −0 net/wireguard/compat/udp_tunnel/include/net/udp_tunnel.h
  24. +385 −0 net/wireguard/compat/udp_tunnel/udp_tunnel.c
  25. +226 −0 net/wireguard/compat/udp_tunnel/udp_tunnel_partial_compat.h
  26. +236 −0 net/wireguard/cookie.c
  27. +59 −0 net/wireguard/cookie.h
  28. +47 −0 net/wireguard/crypto/Makefile.include
  29. +56 −0 net/wireguard/crypto/include/zinc/blake2s.h
  30. +70 −0 net/wireguard/crypto/include/zinc/chacha20.h
  31. +50 −0 net/wireguard/crypto/include/zinc/chacha20poly1305.h
  32. +22 −0 net/wireguard/crypto/include/zinc/curve25519.h
  33. +31 −0 net/wireguard/crypto/include/zinc/poly1305.h
  34. +15 −0 net/wireguard/crypto/zinc.h
  35. +73 −0 net/wireguard/crypto/zinc/blake2s/blake2s-x86_64-glue.c
  36. +685 −0 net/wireguard/crypto/zinc/blake2s/blake2s-x86_64.S
  37. +305 −0 net/wireguard/crypto/zinc/blake2s/blake2s.c
  38. +98 −0 net/wireguard/crypto/zinc/chacha20/chacha20-arm-glue.c
  39. +1,860 −0 net/wireguard/crypto/zinc/chacha20/chacha20-arm.S
  40. +1,942 −0 net/wireguard/crypto/zinc/chacha20/chacha20-arm64.S
  41. +28 −0 net/wireguard/crypto/zinc/chacha20/chacha20-mips-glue.c
  42. +424 −0 net/wireguard/crypto/zinc/chacha20/chacha20-mips.S
  43. +105 −0 net/wireguard/crypto/zinc/chacha20/chacha20-x86_64-glue.c
  44. +2,632 −0 net/wireguard/crypto/zinc/chacha20/chacha20-x86_64.S
  45. +193 −0 net/wireguard/crypto/zinc/chacha20/chacha20.c
  46. +368 −0 net/wireguard/crypto/zinc/chacha20poly1305.c
  47. +43 −0 net/wireguard/crypto/zinc/curve25519/curve25519-arm-glue.c
  48. +2,064 −0 net/wireguard/crypto/zinc/curve25519/curve25519-arm.S
  49. +860 −0 net/wireguard/crypto/zinc/curve25519/curve25519-fiat32.c
  50. +784 −0 net/wireguard/crypto/zinc/curve25519/curve25519-hacl64.c
  51. +48 −0 net/wireguard/crypto/zinc/curve25519/curve25519-x86_64-glue.c
  52. +2,333 −0 net/wireguard/crypto/zinc/curve25519/curve25519-x86_64.c
  53. +120 −0 net/wireguard/crypto/zinc/curve25519/curve25519.c
  54. +140 −0 net/wireguard/crypto/zinc/poly1305/poly1305-arm-glue.c
  55. +1,117 −0 net/wireguard/crypto/zinc/poly1305/poly1305-arm.S
  56. +824 −0 net/wireguard/crypto/zinc/poly1305/poly1305-arm64.S
  57. +205 −0 net/wireguard/crypto/zinc/poly1305/poly1305-donna32.c
  58. +182 −0 net/wireguard/crypto/zinc/poly1305/poly1305-donna64.c
  59. +37 −0 net/wireguard/crypto/zinc/poly1305/poly1305-mips-glue.c
  60. +407 −0 net/wireguard/crypto/zinc/poly1305/poly1305-mips.S
  61. +360 −0 net/wireguard/crypto/zinc/poly1305/poly1305-mips64.S
  62. +156 −0 net/wireguard/crypto/zinc/poly1305/poly1305-x86_64-glue.c
  63. +2,792 −0 net/wireguard/crypto/zinc/poly1305/poly1305-x86_64.S
  64. +168 −0 net/wireguard/crypto/zinc/poly1305/poly1305.c
  65. +2,090 −0 net/wireguard/crypto/zinc/selftest/blake2s.c
  66. +2,698 −0 net/wireguard/crypto/zinc/selftest/chacha20.c
  67. +9,034 −0 net/wireguard/crypto/zinc/selftest/chacha20poly1305.c
  68. +1,315 −0 net/wireguard/crypto/zinc/selftest/curve25519.c
  69. +1,107 −0 net/wireguard/crypto/zinc/selftest/poly1305.c
  70. +48 −0 net/wireguard/crypto/zinc/selftest/run.h
  71. +453 −0 net/wireguard/device.c
  72. +65 −0 net/wireguard/device.h
  73. +209 −0 net/wireguard/hashtables.c
  74. +64 −0 net/wireguard/hashtables.h
  75. +69 −0 net/wireguard/main.c
  76. +128 −0 net/wireguard/messages.h
  77. +609 −0 net/wireguard/netlink.c
  78. +12 −0 net/wireguard/netlink.h
  79. +788 −0 net/wireguard/noise.c
  80. +131 −0 net/wireguard/noise.h
  81. +193 −0 net/wireguard/peer.c
  82. +82 −0 net/wireguard/peer.h
  83. +53 −0 net/wireguard/queueing.c
  84. +196 −0 net/wireguard/queueing.h
  85. +220 −0 net/wireguard/ratelimiter.c
  86. +19 −0 net/wireguard/ratelimiter.h
  87. +597 −0 net/wireguard/receive.c
  88. +687 −0 net/wireguard/selftest/allowedips.c
  89. +104 −0 net/wireguard/selftest/counter.c
  90. +229 −0 net/wireguard/selftest/ratelimiter.c
  91. +423 −0 net/wireguard/send.c
  92. +433 −0 net/wireguard/socket.c
  93. +44 −0 net/wireguard/socket.h
  94. +271 −0 net/wireguard/timers.c
  95. +31 −0 net/wireguard/timers.h
  96. +190 −0 net/wireguard/uapi/wireguard.h
  97. +1 −0 net/wireguard/version.h
@@ -85,6 +85,7 @@ config INET
Short answer: say Y.
if INET
source "net/wireguard/Kconfig"
source "net/ipv4/Kconfig"
source "net/ipv6/Kconfig"
source "net/netlabel/Kconfig"
@@ -15,6 +15,7 @@ obj-$(CONFIG_NET) += $(tmp-y)
obj-$(CONFIG_LLC) += llc/
obj-$(CONFIG_NET) += ethernet/ 802/ sched/ netlink/ bpf/
obj-$(CONFIG_NETFILTER) += netfilter/
obj-$(CONFIG_WIREGUARD) += wireguard/
obj-$(CONFIG_INET) += ipv4/
obj-$(CONFIG_TLS) += tls/
obj-$(CONFIG_XFRM) += xfrm/
@@ -0,0 +1,32 @@
config WIREGUARD
tristate "IP: WireGuard secure network tunnel"
depends on NET && INET
depends on IPV6 || !IPV6
select NET_UDP_TUNNEL
select DST_CACHE
select CRYPTO_BLKCIPHER
select VFP
select VFPv3 if CPU_V7
select NEON if CPU_V7
select KERNEL_MODE_NEON if CPU_V7
default m
help
WireGuard is a secure, fast, and easy to use replacement for IPSec
that uses modern cryptography and clever networking tricks. It's
designed to be fairly general purpose and abstract enough to fit most
use cases, while at the same time remaining extremely simple to
configure. See www.wireguard.com for more info.
It's safe to say Y or M here, as the driver is very lightweight and
is only in use when an administrator chooses to add an interface.
config WIREGUARD_DEBUG
bool "Debugging checks and verbose messages"
depends on WIREGUARD
help
This will write log messages for handshake and other events
that occur for a WireGuard interface. It will also perform some
extra validation checks and unit tests at various points. This is
only useful for debugging.
Say N here unless you know what you're doing.
@@ -0,0 +1,14 @@
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
ccflags-y := -O3 -fvisibility=hidden
ccflags-$(CONFIG_WIREGUARD_DEBUG) += -DDEBUG -g
ccflags-y += -D'pr_fmt(fmt)=KBUILD_MODNAME ": " fmt'
wireguard-y := main.o noise.o device.o peer.o timers.o queueing.o send.o receive.o socket.o hashtables.o allowedips.o ratelimiter.o cookie.o netlink.o
include $(src)/crypto/Makefile.include
include $(src)/compat/Makefile.include
obj-$(if $(KBUILD_EXTMOD),m,$(CONFIG_WIREGUARD)) := wireguard.o
Oops, something went wrong.

0 comments on commit d20a278

Please sign in to comment.