From f47122e07e1ecd0151902a3cabe46c60a99bee8e Mon Sep 17 00:00:00 2001 From: Nathan Skrzypczak Date: Fri, 8 Oct 2021 14:05:35 +0200 Subject: docs: convert plugins doc md->rst Type: improvement Change-Id: I7e821cce1feae229e1be4baeed249b9cca658135 Signed-off-by: Nathan Skrzypczak --- src/plugins/wireguard/README.rst | 81 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/plugins/wireguard/README.rst (limited to 'src/plugins/wireguard/README.rst') diff --git a/src/plugins/wireguard/README.rst b/src/plugins/wireguard/README.rst new file mode 100644 index 00000000000..cb7a024fdf9 --- /dev/null +++ b/src/plugins/wireguard/README.rst @@ -0,0 +1,81 @@ +.. _wireguard_plugin_doc: + +Wireguard vpp-plugin +==================== + +Overview +-------- + +This plugin is an implementation of `wireguard +protocol `__ for VPP. It allows one to +create secure VPN tunnels. This implementation is based on +`wireguard-openbsd `__. + +Crypto +------ + +The crypto protocols: + +- blake2s `[Source] `__ + +OpenSSL: + +- curve25519 +- chachapoly1305 + +Plugin usage example +-------------------- + +Create wireguard interface +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + > vpp# wireguard create listen-port private-key src [generate-key] + > *wg_interface* + > vpp# set int state up + > vpp# set int ip address + +Add a peer configuration: +~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + > vpp# wireguard peer add public-key endpoint allowed-ip port persistent-keepalive [keepalive_interval] + > vpp# *peer_idx* + +Add routes for allowed-ip: +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + > ip route add via + +Show config +~~~~~~~~~~~ + +:: + + > vpp# show wireguard interface + > vpp# show wireguard peer + +Remove peer +~~~~~~~~~~~ + +:: + + > vpp# wireguard peer remove + +Delete interface +~~~~~~~~~~~~~~~~ + +:: + + > vpp# wireguard delete + +Main next steps for improving this implementation +------------------------------------------------- + +1. Use all benefits of VPP-engine. +2. Add IPv6 support (currently only supports IPv4) +3. Add DoS protection as in original protocol (using cookie) -- cgit 1.2.3-korg