|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
15 #ifndef __LCP_ITF_PAIR_H__
16 #define __LCP_ITF_PAIR_H__
24 #define foreach_lcp_itf_pair_flag _ (STALE, 0, "stale")
28 #define _(a, b, c) LIP_FLAG_##a = (1 << b),
39 #define N_LCP_ITF_HOST (LCP_ITF_HOST_TUN + 1)
89 u8 *host_name,
u32 host_index,
92 u32 phy_sw_if_index,
u8 *ns);
102 u32 *host_sw_if_indexp);
static index_t lcp_itf_pair_find_by_host(u32 host_sw_if_index)
void lcp_set_auto_intf(u8 is_auto)
manage interface auto creation
void(* lcp_itf_pair_del_cb_t)(lcp_itf_pair_t *)
struct lcp_itf_pair_t_ lcp_itf_pair_t
A pair of interfaces.
void lcp_itf_pair_show(u32 phy_sw_if_index)
lcp_itf_phy_adj_t lip_phy_adjs
index_t * lip_db_by_phy
Retreive the pair in the DP.
adj_index_t adj_index[N_AF]
enum lip_flag_t_ lip_flag_t
void lcp_itf_pair_walk(lcp_itf_pair_walk_cb_t cb, void *ctx)
Walk/visit each of the interface pairs.
walk_rc_t(* lcp_itf_pair_walk_cb_t)(index_t index, void *ctx)
Callback function invoked during a walk of all interface-pairs.
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
int lcp_itf_pair_replace_begin(void)
Begin and End the replace process.
void(* lcp_itf_pair_add_cb_t)(lcp_itf_pair_t *)
int lcp_itf_pair_replace_end(void)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
lcp_itf_pair_add_cb_t pair_add_fn
lcp_itf_pair_del_cb_t pair_del_fn
struct _vlib_node_registration vlib_node_registration_t
int lcp_itf_pair_del(u32 phy_sw_if_index)
index_t lcp_itf_pair_find_by_vif(u32 vif_index)
Find a interface-pair object from the host interface.
lip_host_type_t lip_host_type
struct lcp_itf_pair_vft lcp_itf_pair_vft_t
struct lcp_itf_phy_adj lcp_itf_phy_adj_t
u32 lcp_itf_num_pairs(void)
#define foreach_lcp_itf_pair_flag
int lcp_itf_pair_add_sub(u32 vif, u8 *host_name, u32 sub_sw_if_index, u32 phy_sw_if_index, u8 *ns)
u32 adj_index_t
An index for adjacencies.
lcp_itf_pair_t * lcp_itf_pair_pool
Pool of LIP objects.
static index_t lcp_itf_pair_find_by_phy(u32 phy_sw_if_index)
lcp_itf_pair_t * lcp_itf_pair_get(index_t index)
Get an interface-pair object from its VPP index.
int lcp_itf_pair_create(u32 phy_sw_if_index, u8 *host_if_name, lip_host_type_t host_if_type, u8 *ns, u32 *host_sw_if_indexp)
Create an interface-pair from PHY sw_if_index and tap name.
#define INDEX_INVALID
Invalid index - used when no index is known blazoned capitals INVALID speak volumes where ~0 does not...
u8 * format_lcp_itf_pair(u8 *s, va_list *args)
vlib_node_registration_t lcp_ethernet_node
int lcp_itf_pair_delete(u32 phy_sw_if_index)
Delete a LCP_ITF_PAIR.
int lcp_itf_pair_add(u32 host_sw_if_index, u32 phy_sw_if_index, u8 *host_name, u32 host_index, lip_host_type_t host_type, u8 *ns)
Create an interface-pair.
enum walk_rc_t_ walk_rc_t
Walk return code.
void lcp_itf_pair_register_vft(lcp_itf_pair_vft_t *lcp_itf_vft)