FD.io VPP  v20.05.1-6-gf53edbc3b
Vector Packet Processing
ipsec_types.api File Reference

Go to the source code of this file.

Enumerations

enum  ipsec_crypto_alg {
  IPSEC_API_CRYPTO_ALG_NONE = 0, IPSEC_API_CRYPTO_ALG_AES_CBC_128, IPSEC_API_CRYPTO_ALG_AES_CBC_192, IPSEC_API_CRYPTO_ALG_AES_CBC_256,
  IPSEC_API_CRYPTO_ALG_AES_CTR_128, IPSEC_API_CRYPTO_ALG_AES_CTR_192, IPSEC_API_CRYPTO_ALG_AES_CTR_256, IPSEC_API_CRYPTO_ALG_AES_GCM_128,
  IPSEC_API_CRYPTO_ALG_AES_GCM_192, IPSEC_API_CRYPTO_ALG_AES_GCM_256, IPSEC_API_CRYPTO_ALG_DES_CBC, IPSEC_API_CRYPTO_ALG_3DES_CBC
}
 
enum  ipsec_integ_alg {
  IPSEC_API_INTEG_ALG_NONE = 0, IPSEC_API_INTEG_ALG_MD5_96, IPSEC_API_INTEG_ALG_SHA1_96, IPSEC_API_INTEG_ALG_SHA_256_96,
  IPSEC_API_INTEG_ALG_SHA_256_128, IPSEC_API_INTEG_ALG_SHA_384_192, IPSEC_API_INTEG_ALG_SHA_512_256
}
 
enum  ipsec_sad_flags {
  IPSEC_API_SAD_FLAG_NONE = 0, IPSEC_API_SAD_FLAG_USE_ESN = 0x01, IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY = 0x02, IPSEC_API_SAD_FLAG_IS_TUNNEL = 0x04,
  IPSEC_API_SAD_FLAG_IS_TUNNEL_V6 = 0x08, IPSEC_API_SAD_FLAG_UDP_ENCAP = 0x10, IPSEC_API_SAD_FLAG_IS_INBOUND = 0x40
}
 
enum  ipsec_proto { IPSEC_API_PROTO_ESP = 50, IPSEC_API_PROTO_AH = 51 }
 

Variables

option version = "3.0.0"
 
import vnet ip ip_types api
 
typedef key
 
u8 data [128]
 
typedef ipsec_sad_entry
 IPsec: Security Association Database entry. More...
 
u32 spi
 
vl_api_ipsec_proto_t protocol
 
vl_api_ipsec_crypto_alg_t crypto_algorithm
 
vl_api_key_t crypto_key
 
vl_api_ipsec_integ_alg_t integrity_algorithm
 
vl_api_key_t integrity_key
 
vl_api_ipsec_sad_flags_t flags
 
vl_api_address_t tunnel_src
 
vl_api_address_t tunnel_dst
 
u32 tx_table_id
 
u32 salt
 
u16 udp_src_port [default=4500]
 
u16 udp_dst_port [default=4500]
 

Enumeration Type Documentation

◆ ipsec_crypto_alg

Enumerator
IPSEC_API_CRYPTO_ALG_NONE 
IPSEC_API_CRYPTO_ALG_AES_CBC_128 
IPSEC_API_CRYPTO_ALG_AES_CBC_192 
IPSEC_API_CRYPTO_ALG_AES_CBC_256 
IPSEC_API_CRYPTO_ALG_AES_CTR_128 
IPSEC_API_CRYPTO_ALG_AES_CTR_192 
IPSEC_API_CRYPTO_ALG_AES_CTR_256 
IPSEC_API_CRYPTO_ALG_AES_GCM_128 
IPSEC_API_CRYPTO_ALG_AES_GCM_192 
IPSEC_API_CRYPTO_ALG_AES_GCM_256 
IPSEC_API_CRYPTO_ALG_DES_CBC 
IPSEC_API_CRYPTO_ALG_3DES_CBC 

Definition at line 24 of file ipsec_types.api.

◆ ipsec_integ_alg

Enumerator
IPSEC_API_INTEG_ALG_NONE 
IPSEC_API_INTEG_ALG_MD5_96 
IPSEC_API_INTEG_ALG_SHA1_96 
IPSEC_API_INTEG_ALG_SHA_256_96 
IPSEC_API_INTEG_ALG_SHA_256_128 
IPSEC_API_INTEG_ALG_SHA_384_192 
IPSEC_API_INTEG_ALG_SHA_512_256 

Definition at line 43 of file ipsec_types.api.

◆ ipsec_proto

Enumerator
IPSEC_API_PROTO_ESP 
IPSEC_API_PROTO_AH 

Definition at line 78 of file ipsec_types.api.

◆ ipsec_sad_flags

Enumerator
IPSEC_API_SAD_FLAG_NONE 
IPSEC_API_SAD_FLAG_USE_ESN 
IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY 
IPSEC_API_SAD_FLAG_IS_TUNNEL 
IPSEC_API_SAD_FLAG_IS_TUNNEL_V6 
IPSEC_API_SAD_FLAG_UDP_ENCAP 
IPSEC_API_SAD_FLAG_IS_INBOUND 

Definition at line 60 of file ipsec_types.api.

Variable Documentation

◆ api

import vnet ip ip_types api

Definition at line 19 of file ipsec_types.api.

◆ crypto_algorithm

vl_api_ipsec_crypto_alg_t crypto_algorithm

Definition at line 120 of file ipsec_types.api.

◆ crypto_key

vl_api_key_t crypto_key

Definition at line 121 of file ipsec_types.api.

◆ data

u8 data[128]

Definition at line 89 of file ipsec_types.api.

◆ flags

vl_api_ipsec_sad_flags_t flags

Definition at line 126 of file ipsec_types.api.

◆ integrity_algorithm

vl_api_ipsec_integ_alg_t integrity_algorithm

Definition at line 123 of file ipsec_types.api.

◆ integrity_key

vl_api_key_t integrity_key

Definition at line 124 of file ipsec_types.api.

◆ ipsec_sad_entry

typedef ipsec_sad_entry
Initial value:
{
u32 sad_id
unsigned int u32
Definition: types.h:88

IPsec: Security Association Database entry.

Template Parameters
client_index- opaque cookie to identify the sender
context- sender context, to match reply w/ request
is_add- add SAD entry if non-zero, else delete
sad_id- sad id
spi- security parameter index
protocol- 0 = AH, 1 = ESP
crypto_algorithm- a supported crypto algorithm
crypto_key- crypto keying material
integrity_algorithm- one of the supported algorithms
integrity_key- integrity keying material
tunnel_src_address- IPsec tunnel source address IPv6 if is_tunnel_ipv6 is non-zero, else IPv4. Only valid if is_tunnel is non-zero
tunnel_dst_address- IPsec tunnel destination address IPv6 if is_tunnel_ipv6 is non-zero, else IPv4. Only valid if is_tunnel is non-zero
tx_table_id- the FIB id used for encapsulated packets
salt- for use with counter mode ciphers
udp_src_port- If using UDP Encapsulation, use this source port for TX. It is ignored for RX.
udp_dst_port- If using UDP Encapsulation, use this destination port for TX. Expect traffic on this port for RX.

Definition at line 113 of file ipsec_types.api.

◆ key

typedef key
Initial value:
{
u8 length
unsigned char u8
Definition: types.h:56

Definition at line 85 of file ipsec_types.api.

◆ protocol

vl_api_ipsec_proto_t protocol

Definition at line 118 of file ipsec_types.api.

◆ salt

u32 salt

Definition at line 131 of file ipsec_types.api.

◆ spi

u32 spi

Definition at line 116 of file ipsec_types.api.

◆ tunnel_dst

vl_api_address_t tunnel_dst

Definition at line 129 of file ipsec_types.api.

◆ tunnel_src

vl_api_address_t tunnel_src

Definition at line 128 of file ipsec_types.api.

◆ tx_table_id

u32 tx_table_id

Definition at line 130 of file ipsec_types.api.

◆ udp_dst_port

u16 udp_dst_port[default=4500]

Definition at line 133 of file ipsec_types.api.

◆ udp_src_port

u16 udp_src_port[default=4500]

Definition at line 132 of file ipsec_types.api.

◆ version

option version = "3.0.0"

Definition at line 17 of file ipsec_types.api.