FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
ip.api File Reference

This file defines vpp IP control-plane API messages which are generally called through a shared memory interface. More...

Go to the source code of this file.

Data Structures

struct  vl_api_ip_table_add_del_t
 Add / del table request A table can be added multiple times, but need be deleted only once. More...
 
struct  vl_api_ip_table_dump_t
 Dump IP all fib tables. More...
 
struct  vl_api_ip_table_replace_begin_t
 IP table replace being. More...
 
struct  vl_api_ip_table_replace_end_t
 IP table replace end. More...
 
struct  vl_api_ip_table_flush_t
 IP table flush Flush a table of all routes. More...
 
struct  vl_api_ip_table_details_t
 IP FIB table response. More...
 
struct  vl_api_ip_route_add_del_t
 Add / del route request. More...
 
struct  vl_api_ip_route_add_del_reply_t
 
struct  vl_api_ip_route_dump_t
 Dump IP routes from a table. More...
 
struct  vl_api_ip_route_details_t
 IP FIB table entry response. More...
 
struct  vl_api_ip_route_lookup_t
 Lookup IP route from a table. More...
 
struct  vl_api_ip_route_lookup_reply_t
 IP FIB table lookup response. More...
 
struct  vl_api_set_ip_flow_hash_t
 Set the ip flow hash config for a fib request. More...
 
struct  vl_api_sw_interface_ip6_enable_disable_t
 IPv6 interface enable / disable request. More...
 
struct  vl_api_ip_mtable_dump_t
 Dump IP multicast fib table. More...
 
struct  vl_api_ip_mtable_details_t
 
struct  vl_api_ip_mroute_add_del_t
 
struct  vl_api_ip_mroute_add_del_reply_t
 
struct  vl_api_ip_mroute_dump_t
 Dump IP multicast fib table. More...
 
struct  vl_api_ip_mroute_details_t
 IP Multicast Route Details. More...
 
struct  vl_api_ip_address_details_t
 
struct  vl_api_ip_address_dump_t
 
struct  vl_api_ip_unnumbered_details_t
 IP unnumbered configurations. More...
 
struct  vl_api_ip_unnumbered_dump_t
 Dump IP unnumbered configurations. More...
 
struct  vl_api_ip_details_t
 
struct  vl_api_ip_dump_t
 
struct  vl_api_mfib_signal_dump_t
 
struct  vl_api_mfib_signal_details_t
 
struct  vl_api_ip_punt_police_t
 IP punt policer. More...
 
struct  vl_api_ip_punt_redirect_t
 IP punt redirect. More...
 
struct  vl_api_ip_punt_redirect_dump_t
 
struct  vl_api_ip_punt_redirect_details_t
 
struct  vl_api_ip_container_proxy_add_del_t
 
struct  vl_api_ip_container_proxy_dump_t
 
struct  vl_api_ip_container_proxy_details_t
 
struct  vl_api_ip_source_and_port_range_check_add_del_t
 Configure IP source and L4 port-range check. More...
 
struct  vl_api_ip_source_and_port_range_check_interface_add_del_t
 Set interface source and L4 port-range request. More...
 
struct  vl_api_sw_interface_ip6_set_link_local_address_t
 IPv6 set link local address on interface request. More...
 
struct  vl_api_ioam_enable_t
 IOAM enable : Enable in-band OAM. More...
 
struct  vl_api_ioam_disable_t
 iOAM disable More...
 
struct  vl_api_ip_reassembly_set_t
 
struct  vl_api_ip_reassembly_get_t
 
struct  vl_api_ip_reassembly_get_reply_t
 
struct  vl_api_ip_reassembly_enable_disable_t
 Enable/disable reassembly feature. More...
 

Enumerations

enum  ip_reass_type { IP_REASS_TYPE_FULL = 0, IP_REASS_TYPE_SHALLOW_VIRTUAL = 0x1 }
 

Variables

option version = "3.0.1"
 
import vnet interface_types api
 
typedef ip_table
 An IP table. More...
 
bool is_ip6
 
string name [64]
 
typedef ip_route
 An IP route. More...
 
u32 stats_index
 
vl_api_prefix_t prefix
 
u8 n_paths
 
vl_api_fib_path_t paths [n_paths]
 
typedef ip_mroute
 Add / del route request. More...
 
u32 entry_flags
 
u32 rpf_id
 
typedef punt_redirect
 Punt redirect type. More...
 
vl_api_interface_index_t tx_sw_if_index
 
vl_api_address_t nh
 

Detailed Description

This file defines vpp IP control-plane API messages which are generally called through a shared memory interface.

Definition in file ip.api.

Enumeration Type Documentation

◆ ip_reass_type

Enumerator
IP_REASS_TYPE_FULL 
IP_REASS_TYPE_SHALLOW_VIRTUAL 

Definition at line 583 of file ip.api.

Variable Documentation

◆ api

import vnet interface_types api

Definition at line 25 of file ip.api.

◆ entry_flags

u32 entry_flags

Definition at line 307 of file ip.api.

◆ ip_mroute

typedef ip_mroute
Initial value:
{
unsigned int u32
Definition: types.h:88
u32 table_id
Definition: wireguard.api:100

Add / del route request.

Adds a route, consisting both of the MFIB entry to match packets (which may already exist) and a path to send those packets down. Routes can be entered repeatedly to add multiple paths. Deletions are per-path.

Template Parameters
client_index- opaque cookie to identify the sender
context- sender context, to match reply w/ request
table_id- fib table /vrf associated with the route
is_add- true if adding a route; false if deleting one
is_ipv6- true iff all the addresses are v6
entry_flags- see fib_entry_flag_t
itf_flags- see mfib_entry_flags_t
next_hop_afi- see dpo_proto_t; the type of destination description
src_address- the source of the packet
grp_address- the group the packet is destined to
nh_address- the nexthop to forward the packet to
next_hop_sw_if_index- interface to emit packet on

BIER AFIs use the BIER imposition ID. v4 and v6 AFIs use either the interface or the nexthop address.

Note that if the route is source-specific (S is supplied, not all 0s), the prefix match is treated as exact (prefixlen /32 or /128).

FIXME not complete yet

Definition at line 305 of file ip.api.

◆ ip_route

typedef ip_route
Initial value:
{
unsigned int u32
Definition: types.h:88
u32 table_id
Definition: wireguard.api:100

An IP route.

Template Parameters
table_idThe IP table the route is in
stats_indexThe index of the route in the stats segment
prefixthe prefix for the route
n_pathsThe number of paths the route has
pathsThe paths of the route

Definition at line 141 of file ip.api.

◆ ip_table

typedef ip_table
Initial value:
{
unsigned int u32
Definition: types.h:88
u32 table_id
Definition: wireguard.api:100

An IP table.

Template Parameters
is_ipv6- V4 or V6 table
table_id- table ID associated with the route This table ID will apply to both the unicast and multicast FIBs
name- A client provided name/tag for the table. If this is not set by the client, then VPP will generate something meaningful.

Definition at line 41 of file ip.api.

◆ is_ip6

bool is_ip6

Definition at line 43 of file ip.api.

◆ n_paths

u8 n_paths

Definition at line 145 of file ip.api.

◆ name

string name

Definition at line 44 of file ip.api.

◆ nh

vl_api_address_t nh

Definition at line 442 of file ip.api.

◆ paths

vl_api_mfib_path_t paths

Definition at line 146 of file ip.api.

◆ prefix

vl_api_mprefix_t prefix

Definition at line 144 of file ip.api.

◆ punt_redirect

typedef punt_redirect
Initial value:
{
vl_api_interface_index_t rx_sw_if_index

Punt redirect type.

Template Parameters
rx_sw_if_index- specify the original RX interface of traffic that should be redirected. ~0 means any interface.
tx_sw_if_index- the TX interface to which traffic should be redirected.
nh- the next-hop to redirect the traffic to.
is_ipv6- 1 for IPv6 neighbor, 0 for IPv4

Definition at line 439 of file ip.api.

◆ rpf_id

u32 rpf_id

Definition at line 308 of file ip.api.

◆ stats_index

u32 stats_index

Definition at line 143 of file ip.api.

◆ tx_sw_if_index

vl_api_interface_index_t tx_sw_if_index

Definition at line 441 of file ip.api.

◆ version

option version = "3.0.1"

Definition at line 23 of file ip.api.