FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
ip_types.api File Reference

Go to the source code of this file.

Data Structures

union  address_union
 

Enumerations

enum  address_family : u8 { ADDRESS_IP4 = 0, ADDRESS_IP6 }
 
enum  ip_ecn : u8 { IP_API_ECN_NONE = 0, IP_API_ECN_ECT0 = 1, IP_API_ECN_ECT1 = 2, IP_API_ECN_CE = 3 }
 
enum  ip_dscp : u8 {
  IP_API_DSCP_CS0 = 0, IP_API_DSCP_CS1 = 8, IP_API_DSCP_AF11 = 10, IP_API_DSCP_AF12 = 12,
  IP_API_DSCP_AF13 = 14, IP_API_DSCP_CS2 = 16, IP_API_DSCP_AF21 = 18, IP_API_DSCP_AF22 = 20,
  IP_API_DSCP_AF23 = 22, IP_API_DSCP_CS3 = 24, IP_API_DSCP_AF31 = 26, IP_API_DSCP_AF32 = 28,
  IP_API_DSCP_AF33 = 30, IP_API_DSCP_CS4 = 32, IP_API_DSCP_AF41 = 34, IP_API_DSCP_AF42 = 36,
  IP_API_DSCP_AF43 = 38, IP_API_DSCP_CS5 = 40, IP_API_DSCP_EF = 46, IP_API_DSCP_CS6 = 48,
  IP_API_DSCP_CS7 = 50
}
 
enum  ip_proto : u8 {
  IP_API_PROTO_HOPOPT = 0, IP_API_PROTO_ICMP = 1, IP_API_PROTO_IGMP = 2, IP_API_PROTO_TCP = 6,
  IP_API_PROTO_UDP = 17, IP_API_PROTO_GRE = 47, IP_API_PROTO_ESP = 50, IP_API_PROTO_AH = 51,
  IP_API_PROTO_ICMP6 = 58, IP_API_PROTO_EIGRP = 88, IP_API_PROTO_OSPF = 89, IP_API_PROTO_SCTP = 132,
  IP_API_PROTO_RESERVED = 255
}
 

Variables

manual_print typedef u8 ip4_address [4]
 
manual_print typedef u8 ip6_address [16]
 
manual_print typedef vl_api_prefix_t address_with_prefix
 The vl_api_[ip4|ip6]_address_with_prefix_t types are used as a type to denote both an IP address and a prefix. More...
 
manual_print typedef vl_api_ip4_prefix_t ip4_address_with_prefix
 
manual_print typedef vl_api_ip6_prefix_t ip6_address_with_prefix
 
option version = "3.0.0"
 
manual_print typedef address
 
vl_api_address_union_t un
 
manual_print typedef prefix
 
u8 len
 
typedef mprefix
 
u16 grp_address_length
 
vl_api_address_union_t grp_address
 
vl_api_address_union_t src_address
 
manual_print typedef ip6_prefix
 
manual_print typedef ip4_prefix
 
typedef prefix_matcher
 A context for matching prefixes against. More...
 
u8 ge
 

Enumeration Type Documentation

◆ address_family

Enumerator
ADDRESS_IP4 
ADDRESS_IP6 

Definition at line 21 of file ip_types.api.

◆ ip_dscp

enum ip_dscp : u8
Enumerator
IP_API_DSCP_CS0 
IP_API_DSCP_CS1 
IP_API_DSCP_AF11 
IP_API_DSCP_AF12 
IP_API_DSCP_AF13 
IP_API_DSCP_CS2 
IP_API_DSCP_AF21 
IP_API_DSCP_AF22 
IP_API_DSCP_AF23 
IP_API_DSCP_CS3 
IP_API_DSCP_AF31 
IP_API_DSCP_AF32 
IP_API_DSCP_AF33 
IP_API_DSCP_CS4 
IP_API_DSCP_AF41 
IP_API_DSCP_AF42 
IP_API_DSCP_AF43 
IP_API_DSCP_CS5 
IP_API_DSCP_EF 
IP_API_DSCP_CS6 
IP_API_DSCP_CS7 

Definition at line 40 of file ip_types.api.

◆ ip_ecn

enum ip_ecn : u8
Enumerator
IP_API_ECN_NONE 
IP_API_ECN_ECT0 
IP_API_ECN_ECT1 
IP_API_ECN_CE 

Definition at line 29 of file ip_types.api.

◆ ip_proto

enum ip_proto : u8
Enumerator
IP_API_PROTO_HOPOPT 
IP_API_PROTO_ICMP 
IP_API_PROTO_IGMP 
IP_API_PROTO_TCP 
IP_API_PROTO_UDP 
IP_API_PROTO_GRE 
IP_API_PROTO_ESP 
IP_API_PROTO_AH 
IP_API_PROTO_ICMP6 
IP_API_PROTO_EIGRP 
IP_API_PROTO_OSPF 
IP_API_PROTO_SCTP 
IP_API_PROTO_RESERVED 

Definition at line 64 of file ip_types.api.

Variable Documentation

◆ address

manual_print typedef address
Initial value:
{
vl_api_address_family_t af

Definition at line 85 of file ip_types.api.

◆ address_with_prefix

manual_print typedef vl_api_prefix_t address_with_prefix

The vl_api_[ip4|ip6]_address_with_prefix_t types are used as a type to denote both an IP address and a prefix.

I.e. in CIDR notation '192.168.10.1/24' the address is 192.168.10.1 and the network prefix is 192.168.10.0/24.

If only an address is needed use: vl_api_address_t types and if only a network prefix is needed (i.e. no hosts bits), then use the vl_api_prefix_t types.

Definition at line 110 of file ip_types.api.

◆ ge

u8 ge

Definition at line 137 of file ip_types.api.

◆ grp_address

vl_api_address_union_t grp_address

Definition at line 98 of file ip_types.api.

◆ grp_address_length

u16 grp_address_length

Definition at line 97 of file ip_types.api.

◆ ip4_address

manual_print typedef u8 ip4_address[4]

Definition at line 18 of file ip_types.api.

◆ ip4_address_with_prefix

manual_print typedef vl_api_ip4_prefix_t ip4_address_with_prefix

Definition at line 126 of file ip_types.api.

◆ ip4_prefix

manual_print typedef ip4_prefix
Initial value:
{
vl_api_ip4_address_t address
manual_print typedef address
Definition: ip_types.api:85

Definition at line 107 of file ip_types.api.

◆ ip6_address

manual_print typedef u8 ip6_address[16]

Definition at line 19 of file ip_types.api.

◆ ip6_address_with_prefix

manual_print typedef vl_api_ip6_prefix_t ip6_address_with_prefix

Definition at line 127 of file ip_types.api.

◆ ip6_prefix

manual_print typedef ip6_prefix
Initial value:
{
vl_api_ip6_address_t address
manual_print typedef address
Definition: ip_types.api:85

Definition at line 102 of file ip_types.api.

◆ len

u8 len

Definition at line 92 of file ip_types.api.

◆ mprefix

typedef mprefix
Initial value:
{
vl_api_address_family_t af

Definition at line 95 of file ip_types.api.

◆ prefix

manual_print typedef prefix
Initial value:
{
vl_api_address_t address
manual_print typedef address
Definition: ip_types.api:85

Definition at line 90 of file ip_types.api.

◆ prefix_matcher

typedef prefix_matcher
Initial value:
{
u8 le
unsigned char u8
Definition: types.h:56

A context for matching prefixes against.

(Think ip prefix list.) The meaning (exact match / want subnets) of an unset matcher is left to the implementer.

Template Parameters
le- le mut be <= to prefix.len. Default: 255 (not set).
ge- ge must be greater than le and <= max_size of prefix. Default: 255 (not set).

Definition at line 135 of file ip_types.api.

◆ src_address

vl_api_address_union_t src_address

Definition at line 99 of file ip_types.api.

◆ un

vl_api_address_union_t un

Definition at line 87 of file ip_types.api.

◆ version

option version = "3.0.0"

Definition at line 17 of file ip_types.api.