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

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_v2_t
struct  vl_api_ip_route_add_del_reply_t
struct  vl_api_ip_route_add_del_v2_reply_t
struct  vl_api_ip_route_dump_t
 Dump IP routes from a table. More...
struct  vl_api_ip_route_v2_dump_t
struct  vl_api_ip_route_details_t
 IP FIB table entry response. More...
struct  vl_api_ip_route_v2_details_t
struct  vl_api_ip_route_lookup_t
 Lookup IP route from a table. More...
struct  vl_api_ip_route_lookup_v2_t
struct  vl_api_ip_route_lookup_reply_t
 IP FIB table lookup response. More...
struct  vl_api_ip_route_lookup_v2_reply_t
struct  vl_api_set_ip_flow_hash_t
 Set the ip flow hash config for a fib request. More...
struct  vl_api_set_ip_flow_hash_v2_t
struct  vl_api_set_ip_flow_hash_router_id_t
 Set the ip flow hash router ID. 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_sw_interface_ip6_get_link_local_address_t
 IPv6 get link local address on interface request. More...
struct  vl_api_sw_interface_ip6_get_link_local_address_reply_t
 IPv6 link local address detail. 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...
struct  vl_api_ip_path_mtu_update_t
struct  vl_api_ip_path_mtu_get_t
struct  vl_api_ip_path_mtu_get_reply_t
struct  vl_api_ip_path_mtu_details_t
struct  vl_api_ip_path_mtu_replace_begin_t
struct  vl_api_ip_path_mtu_replace_end_t


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


option version = "3.1.0"
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_route_v2
u8 src
enumflag ip_flow_hash_config
 flow hash settings for an IP table More...
typedef ip_mroute
 Add / del route request. More...
vl_api_mfib_entry_flags_t 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
typedef ip_path_mtu
 Set a Path MTU value. More...
u32 context
u32 table_id
u16 path_mtu

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


Definition at line 713 of file ip.api.

Variable Documentation

◆ api

import vnet interface_types api

Definition at line 25 of file ip.api.

◆ context

u32 context

Definition at line 780 of file ip.api.

◆ entry_flags

vl_api_mfib_entry_flags_t entry_flags

Definition at line 414 of file ip.api.

◆ ip_flow_hash_config

enumflag ip_flow_hash_config
Initial value:

flow hash settings for an IP table

Template Parameters
src- include src in flow hash
dst- include dst in flow hash
sport- include sport in flow hash
dport- include dport in flow hash
proto- include proto in flow hash
reverse- include reverse in flow hash
symmetric- include symmetry in flow hash
flowlabel- include flowlabel in flow hash

Definition at line 320 of file ip.api.

◆ ip_mroute

typedef ip_mroute
Initial value:

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 412 of file ip.api.

◆ ip_path_mtu

typedef ip_path_mtu
Initial value:
u32 client_index

Set a Path MTU value.

i.e. a MTU value for a given neighbour. The neighbour can be described as attached (w/ interface and next-hop) or remote (w/ table_id and next-hop);

Template Parameters
client_index- opaque cookie to identify the sender
context- sender context, to match reply w/ request
table_id- table-ID for next-hop
nh- Next hop
path_mtu- value to set, 0 is disable.

Definition at line 778 of file ip.api.

◆ ip_route

typedef ip_route
Initial value:

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
srcThe entity adding the route. either 0 for default or a value returned from fib_source_sdd.
pathsThe paths of the route

Definition at line 143 of file ip.api.

◆ ip_route_v2

typedef ip_route_v2
Initial value:

Definition at line 151 of file ip.api.

◆ ip_table

typedef ip_table
Initial value:

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 147 of file ip.api.

◆ name

string name[64]

Definition at line 44 of file ip.api.

◆ nh

vl_api_address_t nh

Definition at line 549 of file ip.api.

◆ path_mtu

u16 path_mtu

Definition at line 783 of file ip.api.

◆ paths

vl_api_mfib_path_t paths[n_paths]

Definition at line 148 of file ip.api.

◆ prefix

vl_api_mprefix_t prefix

Definition at line 146 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 546 of file ip.api.

◆ rpf_id

u32 rpf_id

Definition at line 415 of file ip.api.

◆ service

Initial value:
rpc ip_path_mtu_get returns ip_path_mtu_get_reply
stream ip_path_mtu_details

Definition at line 808 of file ip.api.

◆ src

u8 src

Definition at line 156 of file ip.api.

◆ stats_index

u32 stats_index

Definition at line 145 of file ip.api.

◆ table_id

u32 table_id

Definition at line 781 of file ip.api.

◆ tx_sw_if_index

vl_api_interface_index_t tx_sw_if_index

Definition at line 548 of file ip.api.

◆ version

option version = "3.1.0"

Definition at line 23 of file ip.api.

u32 table_id
Definition: ip.api:781
static_always_inline ip_pmtu_t * ip_path_mtu_get(index_t index)
Definition: ip_path_mtu.h:115
unsigned int u32
Definition: types.h:88