FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
wireguard.api File Reference

Go to the source code of this file.

Data Structures

struct  vl_api_wireguard_interface_create_t
 Create an Wireguard interface. More...
struct  vl_api_wireguard_interface_create_reply_t
 Add Wireguard interface interface response. More...
struct  vl_api_wireguard_interface_delete_t
struct  vl_api_wireguard_interface_dump_t
struct  vl_api_wireguard_interface_details_t
struct  vl_api_wireguard_peer_add_t
 Create new peer. More...
struct  vl_api_wireguard_peer_add_reply_t
struct  vl_api_wireguard_peer_remove_t
 Remove peer by public_key. More...
struct  vl_api_wireguard_peers_dump_t
 Dump all peers. More...
struct  vl_api_wireguard_peers_details_t
 Dump peers response. More...


enum  wireguard_peer_flags : u8 { WIREGUARD_PEER_STATUS_DEAD = 0x1 }


option version = "0.1.0"
import vnet interface_types api
typedef wireguard_interface
 Create wireguard interface. More...
vl_api_interface_index_t sw_if_index = sw_if_indices
u8 private_key [32]
u8 public_key [32]
u16 port
vl_api_address_t src_ip
typedef wireguard_peer
 Create new peer. More...
u16 persistent_keepalive
u32 table_id
vl_api_address_t endpoint
vl_api_wireguard_peer_flags_t flags
u8 n_allowed_ips
vl_api_prefix_t allowed_ips [n_allowed_ips]

Enumeration Type Documentation

◆ wireguard_peer_flags


Definition at line 83 of file wireguard.api.

Variable Documentation

◆ allowed_ips

vl_api_prefix_t allowed_ips[n_allowed_ips]

Definition at line 107 of file wireguard.api.

◆ api

import vnet ip ip_types api

Definition at line 19 of file wireguard.api.

◆ endpoint

vl_api_address_t endpoint

Definition at line 103 of file wireguard.api.

◆ flags

vl_api_gbp_ext_itf_flags_t flags

Definition at line 105 of file wireguard.api.

◆ n_allowed_ips

u8 n_allowed_ips

Definition at line 106 of file wireguard.api.

◆ persistent_keepalive

u16 persistent_keepalive

Definition at line 101 of file wireguard.api.

◆ port

u16 port

Definition at line 37 of file wireguard.api.

◆ private_key

u8 private_key[32]

Definition at line 35 of file wireguard.api.

◆ public_key

u8 public_key[32]

Definition at line 36 of file wireguard.api.

◆ src_ip

vl_api_address_t src_ip

Definition at line 38 of file wireguard.api.

◆ sw_if_index

u32 * sw_if_index = sw_if_indices

Definition at line 34 of file wireguard.api.

◆ table_id

u32 table_id

Definition at line 102 of file wireguard.api.

◆ version

option version = "0.1.0"

Definition at line 17 of file wireguard.api.

◆ wireguard_interface

typedef wireguard_interface
Initial value:
u32 user_instance [default=0xffffffff]

Create wireguard interface.

Template Parameters
client_index- opaque cookie to identify the sender
context- sender context, to match reply w/ request
private_key- private key in binary format of this device
public_key- public key in binary format of this device
port- port of this device
src_ip- packet sent through this interface us this address as the IP source.

Definition at line 32 of file wireguard.api.

◆ wireguard_peer

typedef wireguard_peer
Initial value:

Create new peer.

Template Parameters
public_key- public key (in binary format) of destination peer
port- destination port
table_id- The IP table in which 'endpoint' is reachable
endpoint- destination ip
allowed_ip- allowed incoming ip tunnel
tun_sw_if_index- tunnel interface
persistent_keepalive- keepalive packet timeout

Definition at line 98 of file wireguard.api.

u8 public_key[32]
Definition: wireguard.api:36
unsigned int u32
Definition: types.h:88
unsigned char u8
Definition: types.h:56