FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
l2_api.c File Reference
+ Include dependency graph for l2_api.c:

Go to the source code of this file.

Macros

#define REPLY_MSG_ID_BASE   l2input_main.msg_id_base
 

Functions

static void send_l2_xconnect_details (vl_api_registration_t *reg, u32 context, u32 rx_sw_if_index, u32 tx_sw_if_index)
 
static void vl_api_l2_xconnect_dump_t_handler (vl_api_l2_xconnect_dump_t *mp)
 
static void vl_api_l2_fib_clear_table_t_handler (vl_api_l2_fib_clear_table_t *mp)
 
static void send_l2fib_table_entry (vpe_api_main_t *am, vl_api_registration_t *reg, l2fib_entry_key_t *l2fe_key, l2fib_entry_result_t *l2fe_res, u32 context)
 
static void vl_api_l2_fib_table_dump_t_handler (vl_api_l2_fib_table_dump_t *mp)
 
static void vl_api_l2fib_add_del_t_handler (vl_api_l2fib_add_del_t *mp)
 
static void vl_api_want_l2_macs_events2_t_handler (vl_api_want_l2_macs_events2_t *mp)
 
static void vl_api_want_l2_macs_events_t_handler (vl_api_want_l2_macs_events_t *mp)
 
static void vl_api_l2fib_flush_int_t_handler (vl_api_l2fib_flush_int_t *mp)
 
static void vl_api_l2fib_flush_all_t_handler (vl_api_l2fib_flush_all_t *mp)
 
static void vl_api_l2fib_flush_bd_t_handler (vl_api_l2fib_flush_bd_t *mp)
 
static void vl_api_l2fib_set_scan_delay_t_handler (vl_api_l2fib_set_scan_delay_t *mp)
 
static void vl_api_l2_flags_t_handler (vl_api_l2_flags_t *mp)
 
static void vl_api_bridge_domain_set_default_learn_limit_t_handler (vl_api_bridge_domain_set_default_learn_limit_t *mp)
 
static void vl_api_bridge_domain_set_learn_limit_t_handler (vl_api_bridge_domain_set_learn_limit_t *mp)
 
static void vl_api_bridge_domain_set_mac_age_t_handler (vl_api_bridge_domain_set_mac_age_t *mp)
 
static void vl_api_bridge_domain_add_del_t_handler (vl_api_bridge_domain_add_del_t *mp)
 
static void send_bridge_domain_details (l2input_main_t *l2im, vl_api_registration_t *reg, l2_bridge_domain_t *bd_config, u32 n_sw_ifs, u32 context)
 
static void vl_api_bridge_domain_dump_t_handler (vl_api_bridge_domain_dump_t *mp)
 
static bd_flags_t bd_flags_decode (vl_api_bd_flags_t v)
 
static void vl_api_bridge_flags_t_handler (vl_api_bridge_flags_t *mp)
 
static void vl_api_l2_interface_vlan_tag_rewrite_t_handler (vl_api_l2_interface_vlan_tag_rewrite_t *mp)
 
static void vl_api_l2_interface_pbb_tag_rewrite_t_handler (vl_api_l2_interface_pbb_tag_rewrite_t *mp)
 
static void vl_api_sw_interface_set_l2_xconnect_t_handler (vl_api_sw_interface_set_l2_xconnect_t *mp)
 
static int l2_bd_port_type_decode (vl_api_l2_port_type_t v, l2_bd_port_type_t *l)
 
static void vl_api_sw_interface_set_l2_bridge_t_handler (vl_api_sw_interface_set_l2_bridge_t *mp)
 
static void send_bd_ip_mac_entry (vpe_api_main_t *am, vl_api_registration_t *reg, u32 bd_id, const ip46_address_t *ip, ip46_type_t itype, const mac_address_t *mac, u32 context)
 
static void vl_api_bd_ip_mac_dump_t_handler (vl_api_bd_ip_mac_dump_t *mp)
 
static void vl_api_bd_ip_mac_add_del_t_handler (vl_api_bd_ip_mac_add_del_t *mp)
 
static void vl_api_bd_ip_mac_flush_t_handler (vl_api_bd_ip_mac_flush_t *mp)
 
void l2_efp_filter_configure (vnet_main_t *vnet_main, u32 sw_if_index, u8 enable)
 Enable/disable the EFP Filter check on the subinterface. More...
 
static void vl_api_l2_interface_efp_filter_t_handler (vl_api_l2_interface_efp_filter_t *mp)
 
static void vl_api_l2_patch_add_del_t_handler (vl_api_l2_patch_add_del_t *mp)
 
static void vl_api_sw_interface_set_vpath_t_handler (vl_api_sw_interface_set_vpath_t *mp)
 
static void vl_api_bvi_create_t_handler (vl_api_bvi_create_t *mp)
 
static void vl_api_bvi_delete_t_handler (vl_api_bvi_delete_t *mp)
 
static bool l2_arp_term_publish_event_is_equal (const l2_arp_term_publish_event_t *e1, const l2_arp_term_publish_event_t *e2)
 
static uword l2_arp_term_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
static void vl_api_want_l2_arp_term_events_t_handler (vl_api_want_l2_arp_term_events_t *mp)
 
static clib_error_twant_l2_arp_term_events_reaper (u32 client_index)
 
 VL_MSG_API_REAPER_FUNCTION (want_l2_arp_term_events_reaper)
 
static clib_error_tl2_api_hookup (vlib_main_t *vm)
 
 VLIB_API_INIT_FUNCTION (l2_api_hookup)
 

Variables

vlib_node_registration_t l2_arp_term_process_node
 (constructor) VLIB_REGISTER_NODE (l2_arp_term_process_node) More...
 

Macro Definition Documentation

◆ REPLY_MSG_ID_BASE

#define REPLY_MSG_ID_BASE   l2input_main.msg_id_base

Definition at line 39 of file l2_api.c.

Function Documentation

◆ bd_flags_decode()

static bd_flags_t bd_flags_decode ( vl_api_bd_flags_t  v)
static

Definition at line 605 of file l2_api.c.

+ Here is the caller graph for this function:

◆ l2_api_hookup()

static clib_error_t* l2_api_hookup ( vlib_main_t vm)
static

Definition at line 1279 of file l2_api.c.

+ Here is the call graph for this function:

◆ l2_arp_term_process()

static uword l2_arp_term_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 1128 of file l2_api.c.

+ Here is the call graph for this function:

◆ l2_arp_term_publish_event_is_equal()

static bool l2_arp_term_publish_event_is_equal ( const l2_arp_term_publish_event_t e1,
const l2_arp_term_publish_event_t e2 
)
static

Definition at line 1117 of file l2_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ l2_bd_port_type_decode()

static int l2_bd_port_type_decode ( vl_api_l2_port_type_t  v,
l2_bd_port_type_t l 
)
static

Definition at line 787 of file l2_api.c.

+ Here is the caller graph for this function:

◆ l2_efp_filter_configure()

void l2_efp_filter_configure ( vnet_main_t vnet_main,
u32  sw_if_index,
u8  enable 
)

Enable/disable the EFP Filter check on the subinterface.

Definition at line 507 of file l2_efp_filter.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ send_bd_ip_mac_entry()

static void send_bd_ip_mac_entry ( vpe_api_main_t am,
vl_api_registration_t reg,
u32  bd_id,
const ip46_address_t *  ip,
ip46_type_t  itype,
const mac_address_t mac,
u32  context 
)
static

Definition at line 855 of file l2_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ send_bridge_domain_details()

static void send_bridge_domain_details ( l2input_main_t l2im,
vl_api_registration_t reg,
l2_bridge_domain_t bd_config,
u32  n_sw_ifs,
u32  context 
)
static

Definition at line 514 of file l2_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ send_l2_xconnect_details()

static void send_l2_xconnect_details ( vl_api_registration_t reg,
u32  context,
u32  rx_sw_if_index,
u32  tx_sw_if_index 
)
static

Definition at line 43 of file l2_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ send_l2fib_table_entry()

static void send_l2fib_table_entry ( vpe_api_main_t am,
vl_api_registration_t reg,
l2fib_entry_key_t l2fe_key,
l2fib_entry_result_t l2fe_res,
u32  context 
)
static

Definition at line 94 of file l2_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vl_api_bd_ip_mac_add_del_t_handler()

static void vl_api_bd_ip_mac_add_del_t_handler ( vl_api_bd_ip_mac_add_del_t mp)
static

Definition at line 949 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bd_ip_mac_dump_t_handler()

static void vl_api_bd_ip_mac_dump_t_handler ( vl_api_bd_ip_mac_dump_t mp)
static

Definition at line 878 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bd_ip_mac_flush_t_handler()

static void vl_api_bd_ip_mac_flush_t_handler ( vl_api_bd_ip_mac_flush_t mp)
static

Definition at line 987 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bridge_domain_add_del_t_handler()

static void vl_api_bridge_domain_add_del_t_handler ( vl_api_bridge_domain_add_del_t mp)
static

Definition at line 492 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bridge_domain_dump_t_handler()

static void vl_api_bridge_domain_dump_t_handler ( vl_api_bridge_domain_dump_t mp)
static

Definition at line 562 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bridge_domain_set_default_learn_limit_t_handler()

static void vl_api_bridge_domain_set_default_learn_limit_t_handler ( vl_api_bridge_domain_set_default_learn_limit_t mp)
static

Definition at line 425 of file l2_api.c.

◆ vl_api_bridge_domain_set_learn_limit_t_handler()

static void vl_api_bridge_domain_set_learn_limit_t_handler ( vl_api_bridge_domain_set_learn_limit_t mp)
static

Definition at line 436 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bridge_domain_set_mac_age_t_handler()

static void vl_api_bridge_domain_set_mac_age_t_handler ( vl_api_bridge_domain_set_mac_age_t mp)
static

Definition at line 464 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bridge_flags_t_handler()

static void vl_api_bridge_flags_t_handler ( vl_api_bridge_flags_t mp)
static

Definition at line 628 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bvi_create_t_handler()

static void vl_api_bvi_create_t_handler ( vl_api_bvi_create_t mp)
static

Definition at line 1086 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_bvi_delete_t_handler()

static void vl_api_bvi_delete_t_handler ( vl_api_bvi_delete_t mp)
static

Definition at line 1106 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2_fib_clear_table_t_handler()

static void vl_api_l2_fib_clear_table_t_handler ( vl_api_l2_fib_clear_table_t mp)
static

Definition at line 82 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2_fib_table_dump_t_handler()

static void vl_api_l2_fib_table_dump_t_handler ( vl_api_l2_fib_table_dump_t mp)
static

Definition at line 119 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2_flags_t_handler()

static void vl_api_l2_flags_t_handler ( vl_api_l2_flags_t mp)
static

Definition at line 385 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2_interface_efp_filter_t_handler()

static void vl_api_l2_interface_efp_filter_t_handler ( vl_api_l2_interface_efp_filter_t mp)
static

Definition at line 1021 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2_interface_pbb_tag_rewrite_t_handler()

static void vl_api_l2_interface_pbb_tag_rewrite_t_handler ( vl_api_l2_interface_pbb_tag_rewrite_t mp)
static

Definition at line 706 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2_interface_vlan_tag_rewrite_t_handler()

static void vl_api_l2_interface_vlan_tag_rewrite_t_handler ( vl_api_l2_interface_vlan_tag_rewrite_t mp)
static

Definition at line 664 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2_patch_add_del_t_handler()

static void vl_api_l2_patch_add_del_t_handler ( vl_api_l2_patch_add_del_t mp)
static

Definition at line 1039 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2_xconnect_dump_t_handler()

static void vl_api_l2_xconnect_dump_t_handler ( vl_api_l2_xconnect_dump_t mp)
static

Definition at line 59 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2fib_add_del_t_handler()

static void vl_api_l2fib_add_del_t_handler ( vl_api_l2fib_add_del_t mp)
static

Definition at line 158 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2fib_flush_all_t_handler()

static void vl_api_l2fib_flush_all_t_handler ( vl_api_l2fib_flush_all_t mp)
static

Definition at line 332 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2fib_flush_bd_t_handler()

static void vl_api_l2fib_flush_bd_t_handler ( vl_api_l2fib_flush_bd_t mp)
static

Definition at line 342 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2fib_flush_int_t_handler()

static void vl_api_l2fib_flush_int_t_handler ( vl_api_l2fib_flush_int_t mp)
static

Definition at line 316 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_l2fib_set_scan_delay_t_handler()

static void vl_api_l2fib_set_scan_delay_t_handler ( vl_api_l2fib_set_scan_delay_t mp)
static

Definition at line 362 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_sw_interface_set_l2_bridge_t_handler()

static void vl_api_sw_interface_set_l2_bridge_t_handler ( vl_api_sw_interface_set_l2_bridge_t mp)
static

Definition at line 809 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_sw_interface_set_l2_xconnect_t_handler()

static void vl_api_sw_interface_set_l2_xconnect_t_handler ( vl_api_sw_interface_set_l2_xconnect_t mp)
static

Definition at line 746 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_sw_interface_set_vpath_t_handler()

static void vl_api_sw_interface_set_vpath_t_handler ( vl_api_sw_interface_set_vpath_t mp)
static

Definition at line 1062 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_want_l2_arp_term_events_t_handler()

static void vl_api_want_l2_arp_term_events_t_handler ( vl_api_want_l2_arp_term_events_t mp)
static

Definition at line 1205 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_want_l2_macs_events2_t_handler()

static void vl_api_want_l2_macs_events2_t_handler ( vl_api_want_l2_macs_events2_t mp)
static

Definition at line 221 of file l2_api.c.

+ Here is the call graph for this function:

◆ vl_api_want_l2_macs_events_t_handler()

static void vl_api_want_l2_macs_events_t_handler ( vl_api_want_l2_macs_events_t mp)
static

Definition at line 266 of file l2_api.c.

+ Here is the call graph for this function:

◆ VL_MSG_API_REAPER_FUNCTION()

VL_MSG_API_REAPER_FUNCTION ( want_l2_arp_term_events_reaper  )

◆ VLIB_API_INIT_FUNCTION()

VLIB_API_INIT_FUNCTION ( l2_api_hookup  )

◆ want_l2_arp_term_events_reaper()

static clib_error_t* want_l2_arp_term_events_reaper ( u32  client_index)
static

Definition at line 1253 of file l2_api.c.

+ Here is the call graph for this function:

Variable Documentation

◆ l2_arp_term_process_node

vlib_node_registration_t l2_arp_term_process_node
Initial value:
= {
.function = l2_arp_term_process,
.name = "l2-arp-term-publisher",
}

(constructor) VLIB_REGISTER_NODE (l2_arp_term_process_node)

Definition at line 1197 of file l2_api.c.

VLIB_NODE_TYPE_PROCESS
@ VLIB_NODE_TYPE_PROCESS
Definition: node.h:84
l2_arp_term_process
static uword l2_arp_term_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: l2_api.c:1128