wireguard: initial implementation of wireguard protocol 03/28503/36
authorArtem Glazychev <artem.glazychev@xored.com>
Mon, 31 Aug 2020 10:12:30 +0000 (17:12 +0700)
committerDamjan Marion <dmarion@me.com>
Wed, 9 Sep 2020 11:57:48 +0000 (11:57 +0000)
commitedca1325cf296bd0f5ff422fc12de2ce7a7bad88
treefb12d12bd4193c5b2c7559d98aba9dc5d2f14e85
parentef80ad6bff03e3cc35950de0e15e4821ef3f7c04
wireguard: initial implementation of wireguard protocol

Type: feature

The main information about plugin you can see in README.md

vpp# wireguard ?
  wireguard create                         wireguard create listen-port <port> private-key <key> src <IP> [generate-key]
  wireguard delete                         wireguard delete <interface>
  wireguard peer add                       wireguard peer add <wg_int> public-key <pub_key_other>endpoint <ip4_dst> allowed-ip <prefix>dst-port [port_dst] persistent-keepalive [keepalive_interval]
  wireguard peer remove                    wireguard peer remove <index>

Change-Id: I85eb0bfc033ccfb2045696398d8a108b1c64b8d9
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Jim Thompson <jim@netgate.com>
Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
34 files changed:
MAINTAINERS
src/plugins/wireguard/CMakeLists.txt [new file with mode: 0755]
src/plugins/wireguard/FEATURE.yaml [new file with mode: 0644]
src/plugins/wireguard/README.md [new file with mode: 0755]
src/plugins/wireguard/blake/blake2-impl.h [new file with mode: 0755]
src/plugins/wireguard/blake/blake2s.c [new file with mode: 0755]
src/plugins/wireguard/blake/blake2s.h [new file with mode: 0755]
src/plugins/wireguard/test/test_wireguard.py [new file with mode: 0755]
src/plugins/wireguard/wireguard.api [new file with mode: 0755]
src/plugins/wireguard/wireguard.c [new file with mode: 0755]
src/plugins/wireguard/wireguard.h [new file with mode: 0755]
src/plugins/wireguard/wireguard_api.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_cli.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_cookie.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_cookie.h [new file with mode: 0755]
src/plugins/wireguard/wireguard_if.c [new file with mode: 0644]
src/plugins/wireguard/wireguard_if.h [new file with mode: 0644]
src/plugins/wireguard/wireguard_index_table.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_index_table.h [new file with mode: 0755]
src/plugins/wireguard/wireguard_input.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_key.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_key.h [new file with mode: 0755]
src/plugins/wireguard/wireguard_messages.h [new file with mode: 0755]
src/plugins/wireguard/wireguard_noise.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_noise.h [new file with mode: 0755]
src/plugins/wireguard/wireguard_output_tun.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_peer.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_peer.h [new file with mode: 0755]
src/plugins/wireguard/wireguard_send.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_send.h [new file with mode: 0755]
src/plugins/wireguard/wireguard_timer.c [new file with mode: 0755]
src/plugins/wireguard/wireguard_timer.h [new file with mode: 0755]
test/requirements-3.txt
test/requirements.txt