FD.io VPP  v16.06
Vector Packet Processing
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
api.c File Reference

Go to the source code of this file.

Data Structures

struct  pending_route_t
 
struct  vpe_api_main_t
 
struct  ip6_route_t
 
struct  add_routes_in_fib_arg_t
 

Macros

#define f64_endian(a)
 
#define f64_print(a, b)
 
#define vl_typedefs   /* define message structures */
 
#define vl_endianfun   /* define message structures */
 
#define vl_print(handle, ...)   vlib_cli_output (handle, __VA_ARGS__)
 
#define vl_printfun
 
#define REPLY_MACRO(t)
 
#define REPLY_MACRO2(t, body)
 
#define VALIDATE_SW_IF_INDEX(mp)
 
#define BAD_SW_IF_INDEX_LABEL
 
#define VALIDATE_RX_SW_IF_INDEX(mp)
 
#define BAD_RX_SW_IF_INDEX_LABEL
 
#define VALIDATE_TX_SW_IF_INDEX(mp)
 
#define BAD_TX_SW_IF_INDEX_LABEL
 
#define foreach_vpe_api_msg
 
#define QUOTE_(x)   #x
 
#define QUOTE(x)   QUOTE_(x)
 
#define foreach_registration_hash
 
#define API_LINK_STATE_EVENT   1
 
#define API_ADMIN_UP_DOWN_EVENT   2
 
#define pub_sub_handler(lca, UCA)
 
#define RESOLUTION_EVENT   1
 
#define RESOLUTION_PENDING_EVENT   2
 
#define IP4_ARP_EVENT   3
 
#define foreach_classify_add_del_table_field
 
#define BOUNCE_HANDLER(nn)
 
#define vl_api_version(n, v)   static u32 vpe_api_version = v;
 

Enumerations

enum  resolve_t { RESOLVE_IP4_ADD_DEL_ROUTE =1, RESOLVE_IP6_ADD_DEL_ROUTE, RESOLVE_MPLS_ETHERNET_ADD_DEL }
 

Functions

static void send_sw_interface_flags (vpe_api_main_t *am, unix_shared_memory_queue_t *q, vnet_sw_interface_t *swif)
 
static void send_sw_interface_flags_deleted (vpe_api_main_t *am, unix_shared_memory_queue_t *q, u32 sw_if_index)
 
static int arp_change_delete_callback (u32 pool_index, u8 *notused)
 
int vl_api_memclnt_delete_callback (u32 client_index)
 
static int event_data_cmp (void *a1, void *a2)
 
static uword link_state_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
static clib_error_tlink_up_down_function (vnet_main_t *vm, u32 hw_if_index, u32 flags)
 
static clib_error_tadmin_up_down_function (vnet_main_t *vm, u32 hw_if_index, u32 flags)
 
 VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (admin_up_down_function)
 
 VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION (link_up_down_function)
 
 pub_sub_handler (interface_events, INTERFACE_EVENTS)
 
static uword resolver_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
static int ip4_add_del_route_t_handler (vl_api_ip_add_del_route_t *mp)
 
static int ip6_add_del_route_t_handler (vl_api_ip_add_del_route_t *mp)
 
void vl_api_ip_add_del_route_t_handler (vl_api_ip_add_del_route_t *mp)
 
void api_config_default_ip_route (u8 is_ipv6, u8 is_add, u32 vrf_id, u32 sw_if_index, u8 *next_hop_addr)
 
static void vl_api_sw_interface_add_del_address_t_handler (vl_api_sw_interface_add_del_address_t *mp)
 
static void vl_api_sw_interface_set_table_t_handler (vl_api_sw_interface_set_table_t *mp)
 
static void vl_api_sw_interface_set_vpath_t_handler (vl_api_sw_interface_set_vpath_t *mp)
 
static void vl_api_sw_interface_set_l2_xconnect_t_handler (vl_api_sw_interface_set_l2_xconnect_t *mp)
 
static void vl_api_sw_interface_set_l2_bridge_t_handler (vl_api_sw_interface_set_l2_bridge_t *mp)
 
static void vl_api_bridge_domain_add_del_t_handler (vl_api_bridge_domain_add_del_t *mp)
 
static void vl_api_bridge_domain_details_t_handler (vl_api_bridge_domain_details_t *mp)
 
static void vl_api_bridge_domain_sw_if_details_t_handler (vl_api_bridge_domain_sw_if_details_t *mp)
 
static void send_bridge_domain_details (unix_shared_memory_queue_t *q, l2_bridge_domain_t *bd_config, u32 n_sw_ifs, u32 context)
 
static void send_bd_sw_if_details (l2input_main_t *l2im, unix_shared_memory_queue_t *q, l2_flood_member_t *member, u32 bd_id, u32 context)
 
static void vl_api_bridge_domain_dump_t_handler (vl_api_bridge_domain_dump_t *mp)
 
static void vl_api_l2fib_add_del_t_handler (vl_api_l2fib_add_del_t *mp)
 
static void vl_api_l2_flags_t_handler (vl_api_l2_flags_t *mp)
 
static void vl_api_bridge_flags_t_handler (vl_api_bridge_flags_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_tap_connect_t_handler (vl_api_tap_connect_t *mp, vlib_main_t *vm)
 
static void vl_api_tap_modify_t_handler (vl_api_tap_modify_t *mp, vlib_main_t *vm)
 
static void vl_api_tap_delete_t_handler (vl_api_tap_delete_t *mp, vlib_main_t *vm)
 
static void vl_api_create_vlan_subif_t_handler (vl_api_create_vlan_subif_t *mp)
 
static void vl_api_create_subif_t_handler (vl_api_create_subif_t *mp)
 
static void vl_api_mpls_gre_add_del_tunnel_t_handler (vl_api_mpls_gre_add_del_tunnel_t *mp)
 
static void vl_api_mpls_ethernet_add_del_tunnel_t_handler (vl_api_mpls_ethernet_add_del_tunnel_t *mp)
 
static int mpls_ethernet_add_del_tunnel_2_t_handler (vl_api_mpls_ethernet_add_del_tunnel_2_t *mp)
 
static void vl_api_mpls_ethernet_add_del_tunnel_2_t_handler (vl_api_mpls_ethernet_add_del_tunnel_2_t *mp)
 
static void vl_api_mpls_add_del_encap_t_handler (vl_api_mpls_add_del_encap_t *mp)
 
static void vl_api_mpls_add_del_decap_t_handler (vl_api_mpls_add_del_decap_t *mp)
 
static void vl_api_proxy_arp_add_del_t_handler (vl_api_proxy_arp_add_del_t *mp)
 
static void vl_api_proxy_arp_intfc_enable_disable_t_handler (vl_api_proxy_arp_intfc_enable_disable_t *mp)
 
static void vl_api_ip_neighbor_add_del_t_handler (vl_api_ip_neighbor_add_del_t *mp, vlib_main_t *vm)
 
static void vl_api_is_address_reachable_t_handler (vl_api_is_address_reachable_t *mp)
 
static void vl_api_sw_interface_details_t_handler (vl_api_sw_interface_details_t *mp)
 
static void vl_api_sw_interface_set_flags_t_handler (vl_api_sw_interface_set_flags_t *mp)
 
static void vl_api_sw_interface_clear_stats_t_handler (vl_api_sw_interface_clear_stats_t *mp)
 
static void send_sw_interface_details (vpe_api_main_t *am, unix_shared_memory_queue_t *q, vnet_sw_interface_t *swif, u8 *interface_name, u32 context)
 
static void vl_api_sw_interface_dump_t_handler (vl_api_sw_interface_dump_t *mp)
 
void send_oam_event (oam_target_t *t)
 
static void vl_api_oam_add_del_t_handler (vl_api_oam_add_del_t *mp)
 
static void vl_api_vnet_get_summary_stats_t_handler (vl_api_vnet_get_summary_stats_t *mp)
 
typedef CLIB_PACKED (struct{ip4_address_t address;u32 address_length:6;u32 index:26;})
 
static void add_routes_in_fib (clib_bihash_kv_24_8_t *kvp, void *arg)
 
static int ip6_reset_fib_t_handler (vl_api_reset_fib_t *mp)
 
static void vl_api_reset_fib_t_handler (vl_api_reset_fib_t *mp)
 
static void dhcpv4_proxy_config (vl_api_dhcp_proxy_config_t *mp)
 
static void dhcpv6_proxy_config (vl_api_dhcp_proxy_config_t *mp)
 
static void dhcpv4_proxy_config_2 (vl_api_dhcp_proxy_config_2_t *mp)
 
static void dhcpv6_proxy_config_2 (vl_api_dhcp_proxy_config_2_t *mp)
 
static void vl_api_dhcp_proxy_set_vss_t_handler (vl_api_dhcp_proxy_set_vss_t *mp)
 
static void vl_api_dhcp_proxy_config_t_handler (vl_api_dhcp_proxy_config_t *mp)
 
static void vl_api_dhcp_proxy_config_2_t_handler (vl_api_dhcp_proxy_config_2_t *mp)
 
void dhcp_compl_event_callback (u32 client_index, u32 pid, u8 *hostname, u8 is_ipv6, u8 *host_address, u8 *router_address, u8 *host_mac)
 
static void vl_api_dhcp_client_config_t_handler (vl_api_dhcp_client_config_t *mp)
 
static void vl_api_sw_interface_ip6nd_ra_config_t_handler (vl_api_sw_interface_ip6nd_ra_config_t *mp, vlib_main_t *vm)
 
static void vl_api_sw_interface_ip6nd_ra_prefix_t_handler (vl_api_sw_interface_ip6nd_ra_prefix_t *mp, vlib_main_t *vm)
 
static void vl_api_sw_interface_ip6_enable_disable_t_handler (vl_api_sw_interface_ip6_enable_disable_t *mp, vlib_main_t *vm)
 
static void vl_api_sw_interface_ip6_set_link_local_address_t_handler (vl_api_sw_interface_ip6_set_link_local_address_t *mp, vlib_main_t *vm)
 
static void set_ip6_flow_hash (vl_api_set_ip_flow_hash_t *mp)
 
static void set_ip4_flow_hash (vl_api_set_ip_flow_hash_t *mp)
 
static void vl_api_set_ip_flow_hash_t_handler (vl_api_set_ip_flow_hash_t *mp)
 
static void vl_api_sw_interface_set_unnumbered_t_handler (vl_api_sw_interface_set_unnumbered_t *mp)
 
static void vl_api_create_loopback_t_handler (vl_api_create_loopback_t *mp)
 
static void vl_api_delete_loopback_t_handler (vl_api_delete_loopback_t *mp)
 
static void vl_api_control_ping_t_handler (vl_api_control_ping_t *mp)
 
static void shmem_cli_output (uword arg, u8 *buffer, uword buffer_bytes)
 
static void vl_api_cli_request_t_handler (vl_api_cli_request_t *mp)
 
static void vl_api_set_arp_neighbor_limit_t_handler (vl_api_set_arp_neighbor_limit_t *mp)
 
static void vl_api_sr_tunnel_add_del_t_handler (vl_api_sr_tunnel_add_del_t *mp)
 
static void vl_api_sr_policy_add_del_t_handler (vl_api_sr_policy_add_del_t *mp)
 
static void vl_api_sr_multicast_map_add_del_t_handler (vl_api_sr_multicast_map_add_del_t *mp)
 
static void vl_api_classify_add_del_table_t_handler (vl_api_classify_add_del_table_t *mp)
 
static void vl_api_classify_add_del_session_t_handler (vl_api_classify_add_del_session_t *mp)
 
static void vl_api_classify_set_interface_ip_table_t_handler (vl_api_classify_set_interface_ip_table_t *mp)
 
static void vl_api_classify_set_interface_l2_tables_t_handler (vl_api_classify_set_interface_l2_tables_t *mp)
 
static void vl_api_l2_fib_clear_table_t_handler (vl_api_l2_fib_clear_table_t *mp)
 
void l2_efp_filter_configure (vnet_main_t *vnet_main, u32 sw_if_index, u32 enable)
 
static void vl_api_l2_interface_efp_filter_t_handler (vl_api_l2_interface_efp_filter_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_create_vhost_user_if_t_handler (vl_api_create_vhost_user_if_t *mp)
 
static void vl_api_modify_vhost_user_if_t_handler (vl_api_modify_vhost_user_if_t *mp)
 
static void vl_api_delete_vhost_user_if_t_handler (vl_api_delete_vhost_user_if_t *mp)
 
static void vl_api_sw_interface_vhost_user_details_t_handler (vl_api_sw_interface_vhost_user_details_t *mp)
 
static void vl_api_sw_interface_vhost_user_dump_t_handler (vl_api_sw_interface_vhost_user_dump_t *mp)
 
static void send_sw_if_l2tpv3_tunnel_details (vpe_api_main_t *am, unix_shared_memory_queue_t *q, l2t_session_t *s, l2t_main_t *lm, u32 context)
 
static void send_ip_address_details (vpe_api_main_t *am, unix_shared_memory_queue_t *q, u8 *ip, u16 prefix_length, u8 is_ipv6, u32 context)
 
static void vl_api_ip_address_dump_t_handler (vl_api_ip_address_dump_t *mp)
 
static void send_ip_details (vpe_api_main_t *am, unix_shared_memory_queue_t *q, u32 sw_if_index, u32 context)
 
static void vl_api_sw_if_l2tpv3_tunnel_dump_t_handler (vl_api_sw_if_l2tpv3_tunnel_dump_t *mp)
 
static void send_sw_interface_tap_details (vpe_api_main_t *am, unix_shared_memory_queue_t *q, tapcli_interface_details_t *tap_if, u32 context)
 
static void vl_api_sw_interface_tap_dump_t_handler (vl_api_sw_interface_tap_dump_t *mp)
 
static void vl_api_ip_dump_t_handler (vl_api_ip_dump_t *mp)
 
static void vl_api_l2_fib_table_entry_t_handler (vl_api_l2_fib_table_entry_t *mp)
 
static void send_l2fib_table_entry (vpe_api_main_t *am, unix_shared_memory_queue_t *q, 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_show_version_t_handler (vl_api_show_version_t *mp)
 
static void vl_api_get_node_index_t_handler (vl_api_get_node_index_t *mp)
 
static void vl_api_add_node_next_t_handler (vl_api_add_node_next_t *mp)
 
static void vl_api_l2tpv3_create_tunnel_t_handler (vl_api_l2tpv3_create_tunnel_t *mp)
 
static void vl_api_l2tpv3_set_tunnel_cookies_t_handler (vl_api_l2tpv3_set_tunnel_cookies_t *mp)
 
static void vl_api_l2tpv3_interface_enable_disable_t_handler (vl_api_l2tpv3_interface_enable_disable_t *mp)
 
static void vl_api_l2tpv3_set_lookup_key_t_handler (vl_api_l2tpv3_set_lookup_key_t *mp)
 
static void vl_api_vxlan_add_del_tunnel_t_handler (vl_api_vxlan_add_del_tunnel_t *mp)
 
static void send_vxlan_tunnel_details (vxlan_tunnel_t *t, unix_shared_memory_queue_t *q, u32 context)
 
static void vl_api_vxlan_tunnel_dump_t_handler (vl_api_vxlan_tunnel_dump_t *mp)
 
static void vl_api_gre_add_del_tunnel_t_handler (vl_api_gre_add_del_tunnel_t *mp)
 
static void send_gre_tunnel_details (gre_tunnel_t *t, unix_shared_memory_queue_t *q, u32 context)
 
static void vl_api_gre_tunnel_dump_t_handler (vl_api_gre_tunnel_dump_t *mp)
 
static void vl_api_l2_patch_add_del_t_handler (vl_api_l2_patch_add_del_t *mp)
 
static void vl_api_vxlan_gpe_add_del_tunnel_t_handler (vl_api_vxlan_gpe_add_del_tunnel_t *mp)
 
static void vl_api_lisp_add_del_locator_set_t_handler (vl_api_lisp_add_del_locator_set_t *mp)
 
static void vl_api_lisp_add_del_locator_t_handler (vl_api_lisp_add_del_locator_t *mp)
 
static void vl_api_lisp_add_del_local_eid_t_handler (vl_api_lisp_add_del_local_eid_t *mp)
 
static void lisp_gpe_add_del_fwd_entry_set_address (vl_api_lisp_gpe_add_del_fwd_entry_t *mp, ip_address_t *slocator, ip_address_t *dlocator, gid_address_t *eid)
 
static void vl_api_lisp_gpe_add_del_fwd_entry_t_handler (vl_api_lisp_gpe_add_del_fwd_entry_t *mp)
 
static void vl_api_lisp_add_del_map_resolver_t_handler (vl_api_lisp_add_del_map_resolver_t *mp)
 
static void vl_api_lisp_gpe_enable_disable_t_handler (vl_api_lisp_gpe_enable_disable_t *mp)
 
static void vl_api_lisp_enable_disable_t_handler (vl_api_lisp_enable_disable_t *mp)
 
static void vl_api_lisp_gpe_add_del_iface_t_handler (vl_api_lisp_gpe_add_del_iface_t *mp)
 
typedef CLIB_PACKED (struct{u8 is_ip4;u8 addr[16];})
 Used for transferring locators via VPP API. More...
 
static void vl_api_lisp_add_del_remote_mapping_t_handler (vl_api_lisp_add_del_remote_mapping_t *mp)
 
static void send_lisp_locator_set_details (lisp_cp_main_t *lcm, locator_set_t *lsit, unix_shared_memory_queue_t *q, u32 context, u32 index)
 
static void vl_api_lisp_locator_set_dump_t_handler (vl_api_lisp_locator_set_dump_t *mp)
 
static void send_lisp_local_eid_table_details (mapping_t *mapit, unix_shared_memory_queue_t *q, u32 context)
 
static void vl_api_lisp_local_eid_table_dump_t_handler (vl_api_lisp_local_eid_table_dump_t *mp)
 
static void send_lisp_gpe_tunnel_details (lisp_gpe_tunnel_t *tunnel, unix_shared_memory_queue_t *q, u32 context)
 
static void vl_api_lisp_gpe_tunnel_dump_t_handler (vl_api_lisp_local_eid_table_dump_t *mp)
 
static void send_lisp_map_resolver_details (ip_address_t *ip, unix_shared_memory_queue_t *q, u32 context)
 
static void vl_api_lisp_map_resolver_dump_t_handler (vl_api_lisp_local_eid_table_dump_t *mp)
 
static void send_lisp_enable_disable_details (unix_shared_memory_queue_t *q, u32 context)
 
static void vl_api_lisp_enable_disable_status_dump_t_handler (vl_api_lisp_enable_disable_status_dump_t *mp)
 
static void vl_api_interface_name_renumber_t_handler (vl_api_interface_name_renumber_t *mp)
 
static int arp_change_data_callback (u32 pool_index, u8 *new_mac, u32 sw_if_index, u32 address)
 
static void vl_api_want_ip4_arp_events_t_handler (vl_api_want_ip4_arp_events_t *mp)
 
static void vl_api_input_acl_set_interface_t_handler (vl_api_input_acl_set_interface_t *mp)
 
static void vl_api_ipsec_spd_add_del_t_handler (vl_api_ipsec_spd_add_del_t *mp)
 
static void vl_api_ipsec_interface_add_del_spd_t_handler (vl_api_ipsec_interface_add_del_spd_t *mp)
 
static void vl_api_ipsec_spd_add_del_entry_t_handler (vl_api_ipsec_spd_add_del_entry_t *mp)
 
static void vl_api_ipsec_sad_add_del_entry_t_handler (vl_api_ipsec_sad_add_del_entry_t *mp)
 
static void vl_api_ikev2_profile_add_del_t_handler (vl_api_ikev2_profile_add_del_t *mp)
 
static void vl_api_ikev2_profile_set_auth_t_handler (vl_api_ikev2_profile_set_auth_t *mp)
 
static void vl_api_ikev2_profile_set_id_t_handler (vl_api_ikev2_profile_set_id_t *mp)
 
static void vl_api_ikev2_profile_set_ts_t_handler (vl_api_ikev2_profile_set_ts_t *mp)
 
static void vl_api_ikev2_set_local_key_t_handler (vl_api_ikev2_set_local_key_t *mp)
 
static void vl_api_map_add_domain_t_handler (vl_api_map_add_domain_t *mp)
 
static void vl_api_map_del_domain_t_handler (vl_api_map_del_domain_t *mp)
 
static void vl_api_map_add_del_rule_t_handler (vl_api_map_add_del_rule_t *mp)
 
static void vl_api_map_domain_dump_t_handler (vl_api_map_domain_dump_t *mp)
 
static void vl_api_map_rule_dump_t_handler (vl_api_map_rule_dump_t *mp)
 
static void vl_api_map_summary_stats_t_handler (vl_api_map_summary_stats_t *mp)
 
static void vl_api_ipsec_sa_set_key_t_handler (vl_api_ipsec_sa_set_key_t *mp)
 
static void vl_api_cop_interface_enable_disable_t_handler (vl_api_cop_interface_enable_disable_t *mp)
 
static void vl_api_cop_whitelist_enable_disable_t_handler (vl_api_cop_whitelist_enable_disable_t *mp)
 
static void vl_api_get_node_graph_t_handler (vl_api_get_node_graph_t *mp)
 
static void vl_api_trace_profile_add_t_handler (vl_api_trace_profile_add_t *mp)
 
static void vl_api_trace_profile_apply_t_handler (vl_api_trace_profile_apply_t *mp)
 
static void vl_api_trace_profile_del_t_handler (vl_api_trace_profile_del_t *mp)
 
static void vl_api_af_packet_create_t_handler (vl_api_af_packet_create_t *mp)
 
static void vl_api_af_packet_delete_t_handler (vl_api_af_packet_delete_t *mp)
 
static void vl_api_policer_add_del_t_handler (vl_api_policer_add_del_t *mp)
 
static clib_error_tvpe_api_hookup (vlib_main_t *vm)
 
 VLIB_API_INIT_FUNCTION (vpe_api_hookup)
 
static clib_error_tvpe_api_init (vlib_main_t *vm)
 
static clib_error_tapi_segment_config (vlib_main_t *vm, unformat_input_t *input)
 
voidget_unformat_vnet_sw_interface (void)
 
int vl_msg_api_version_check (vl_api_memclnt_create_t *mp)
 
static u8format_arp_event (u8 *s, va_list *args)
 
static clib_error_tshow_ip4_arp_events_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

static vlib_node_registration_t vpe_resolver_process_node
 (constructor) VLIB_REGISTER_NODE (vpe_resolver_process_node) More...
 
static vpe_api_main_t vpe_api_main
 
vlib_node_registration_t link_state_process_node
 (constructor) VLIB_REGISTER_NODE (link_state_process_node) More...
 
vlib_cli_command_t show_ip4_arp_events
 (constructor) VLIB_CLI_COMMAND (show_ip4_arp_events) More...
 

Macro Definition Documentation

#define API_ADMIN_UP_DOWN_EVENT   2

Definition at line 427 of file api.c.

#define API_LINK_STATE_EVENT   1

Definition at line 426 of file api.c.

#define BAD_RX_SW_IF_INDEX_LABEL
Value:
do { \
bad_rx_sw_if_index: \
; \
} while (0);

Definition at line 182 of file api.c.

#define BAD_SW_IF_INDEX_LABEL
Value:
do { \
bad_sw_if_index: \
; \
} while (0);

Definition at line 166 of file api.c.

#define BAD_TX_SW_IF_INDEX_LABEL
Value:
do { \
bad_tx_sw_if_index: \
; \
} while (0);

Definition at line 198 of file api.c.

#define BOUNCE_HANDLER (   nn)
Value:
static void vl_api_##nn##_t_handler ( \
vl_api_##nn##_t *mp) \
{ \
vpe_client_registration_t *reg; \
vpe_api_main_t * vam = &vpe_api_main; \
\
/* One registration only... */ \
pool_foreach(reg, vam->nn##_registrations, \
({ \
q = vl_api_client_index_to_input_queue (reg->client_index); \
if (q) { \
/* \
* If the queue is stuffed, turf the msg and complain \
* It's unlikely that the intended recipient is \
* alive; avoid deadlock at all costs. \
*/ \
if (q->cursize == q->maxsize) { \
clib_warning ("ERROR: receiver queue full, drop msg"); \
vl_msg_api_free (mp); \
return; \
} \
vl_msg_api_send_shmem (q, (u8 *)&mp); \
return; \
} \
})); \
}
#define pool_foreach(VAR, POOL, BODY)
Definition: pool.h:328
void vl_msg_api_free(void *)
static vpe_api_main_t vpe_api_main
Definition: api.c:392
struct _unix_shared_memory_queue unix_shared_memory_queue_t

Definition at line 5970 of file api.c.

#define f64_endian (   a)

Definition at line 105 of file api.c.

#define f64_print (   a,
 
)

Definition at line 106 of file api.c.

#define foreach_classify_add_del_table_field
Value:
_(table_index) \
_(nbuckets) \
_(memory_size) \
_(skip_n_vectors) \
_(match_n_vectors) \
_(next_table_index) \
_(miss_next_index)

Definition at line 3535 of file api.c.

#define foreach_registration_hash
Value:
_(interface_events) \
_(to_netconf_server) \
_(from_netconf_server) \
_(to_netconf_client) \
_(from_netconf_client) \
_(oam_events)

Definition at line 348 of file api.c.

#define foreach_vpe_api_msg

Definition at line 215 of file api.c.

#define IP4_ARP_EVENT   3
#define pub_sub_handler (   lca,
  UCA 
)
Value:
static void vl_api_want_##lca##_t_handler ( \
vl_api_want_##lca##_t *mp) \
{ \
vpe_api_main_t *vam = &vpe_api_main; \
vpe_client_registration_t *rp; \
vl_api_want_##lca##_reply_t *rmp; \
uword *p; \
i32 rv = 0; \
\
p = hash_get (vam->lca##_registration_hash, mp->client_index); \
if (p) { \
if (mp->enable_disable) { \
clib_warning ("pid %d: already enabled...", mp->pid); \
rv = VNET_API_ERROR_INVALID_REGISTRATION; \
goto reply; \
} else { \
rp = pool_elt_at_index (vam->lca##_registrations, p[0]); \
pool_put (vam->lca##_registrations, rp); \
hash_unset (vam->lca##_registration_hash, \
mp->client_index); \
goto reply; \
} \
} \
if (mp->enable_disable == 0) { \
clib_warning ("pid %d: already disabled...", mp->pid); \
rv = VNET_API_ERROR_INVALID_REGISTRATION; \
goto reply; \
} \
pool_get (vam->lca##_registrations, rp); \
rp->client_index = mp->client_index; \
rp->client_pid = mp->pid; \
hash_set (vam->lca##_registration_hash, rp->client_index, \
rp - vam->lca##_registrations); \
\
reply: \
REPLY_MACRO (VL_API_WANT_##UCA##_REPLY); \
}
#define hash_set(h, key, value)
Definition: hash.h:237
#define hash_unset(h, key)
Definition: hash.h:243
#define REPLY_MACRO(t)
Definition: api.c:122
#define pool_get(P, E)
Definition: pool.h:186
int i32
Definition: types.h:81
#define clib_warning(format, args...)
Definition: error.h:59
#define hash_get(h, key)
Definition: hash.h:231
#define pool_elt_at_index(p, i)
Definition: pool.h:346
#define pool_put(P, E)
Definition: pool.h:200
static vpe_api_main_t vpe_api_main
Definition: api.c:392
u64 uword
Definition: types.h:112

Definition at line 540 of file api.c.

#define QUOTE (   x)    QUOTE_(x)

Definition at line 346 of file api.c.

#define QUOTE_ (   x)    #x

Definition at line 345 of file api.c.

#define REPLY_MACRO (   t)
Value:
do { \
rv = vl_msg_api_pd_handler (mp, rv); \
q = vl_api_client_index_to_input_queue (mp->client_index); \
if (!q) \
return; \
\
rmp = vl_msg_api_alloc (sizeof (*rmp)); \
rmp->_vl_msg_id = ntohs((t)); \
rmp->context = mp->context; \
rmp->retval = ntohl(rv); \
vl_msg_api_send_shmem (q, (u8 *)&rmp); \
} while(0);
void vl_msg_api_send_shmem(unix_shared_memory_queue_t *q, u8 *elem)
unix_shared_memory_queue_t * vl_api_client_index_to_input_queue(u32 index)
void * vl_msg_api_alloc(int nbytes)
int vl_msg_api_pd_handler(void *mp, int rv)
Definition: api_shared.c:1081
unsigned char u8
Definition: types.h:56
struct _unix_shared_memory_queue unix_shared_memory_queue_t

Definition at line 122 of file api.c.

#define REPLY_MACRO2 (   t,
  body 
)
Value:
do { \
rv = vl_msg_api_pd_handler (mp, rv); \
q = vl_api_client_index_to_input_queue (mp->client_index); \
if (!q) \
return; \
\
rmp = vl_msg_api_alloc (sizeof (*rmp)); \
rmp->_vl_msg_id = ntohs((t)); \
rmp->context = mp->context; \
rmp->retval = ntohl(rv); \
do {body;} while (0); \
vl_msg_api_send_shmem (q, (u8 *)&rmp); \
} while(0);
void vl_msg_api_send_shmem(unix_shared_memory_queue_t *q, u8 *elem)
unix_shared_memory_queue_t * vl_api_client_index_to_input_queue(u32 index)
void * vl_msg_api_alloc(int nbytes)
int vl_msg_api_pd_handler(void *mp, int rv)
Definition: api_shared.c:1081
unsigned char u8
Definition: types.h:56
struct _unix_shared_memory_queue unix_shared_memory_queue_t

Definition at line 138 of file api.c.

#define RESOLUTION_EVENT   1
#define RESOLUTION_PENDING_EVENT   2
#define VALIDATE_RX_SW_IF_INDEX (   mp)
Value:
do { u32 __rx_sw_if_index = ntohl(mp->rx_sw_if_index); \
if (pool_is_free_index(__vnm->interface_main.sw_interfaces, \
__rx_sw_if_index)) { \
rv = VNET_API_ERROR_INVALID_SW_IF_INDEX; \
goto bad_rx_sw_if_index; \
} \
} while(0);
vnet_main_t * vnet_get_main(void)
Definition: misc.c:45
#define pool_is_free_index(P, I)
Definition: pool.h:197
unsigned int u32
Definition: types.h:88
struct vnet_main_t vnet_main_t

Definition at line 172 of file api.c.

#define VALIDATE_SW_IF_INDEX (   mp)
Value:
do { u32 __sw_if_index = ntohl(mp->sw_if_index); \
if (pool_is_free_index(__vnm->interface_main.sw_interfaces, \
__sw_if_index)) { \
rv = VNET_API_ERROR_INVALID_SW_IF_INDEX; \
goto bad_sw_if_index; \
} \
} while(0);
vnet_main_t * vnet_get_main(void)
Definition: misc.c:45
#define pool_is_free_index(P, I)
Definition: pool.h:197
unsigned int u32
Definition: types.h:88
struct vnet_main_t vnet_main_t

Definition at line 156 of file api.c.

#define VALIDATE_TX_SW_IF_INDEX (   mp)
Value:
do { u32 __tx_sw_if_index = ntohl(mp->tx_sw_if_index); \
if (pool_is_free_index(__vnm->interface_main.sw_interfaces, \
__tx_sw_if_index)) { \
rv = VNET_API_ERROR_INVALID_SW_IF_INDEX; \
goto bad_tx_sw_if_index; \
} \
} while(0);
vnet_main_t * vnet_get_main(void)
Definition: misc.c:45
#define pool_is_free_index(P, I)
Definition: pool.h:197
unsigned int u32
Definition: types.h:88
struct vnet_main_t vnet_main_t

Definition at line 188 of file api.c.

#define vl_api_version (   n,
 
)    static u32 vpe_api_version = v;

Definition at line 6172 of file api.c.

#define vl_endianfun   /* define message structures */

Definition at line 112 of file api.c.

#define vl_print (   handle,
  ... 
)    vlib_cli_output (handle, __VA_ARGS__)

Definition at line 117 of file api.c.

#define vl_printfun

Definition at line 118 of file api.c.

#define vl_typedefs   /* define message structures */

Definition at line 108 of file api.c.

Enumeration Type Documentation

enum resolve_t
Enumerator
RESOLVE_IP4_ADD_DEL_ROUTE 
RESOLVE_IP6_ADD_DEL_ROUTE 
RESOLVE_MPLS_ETHERNET_ADD_DEL 

Definition at line 356 of file api.c.

Function Documentation

static void add_routes_in_fib ( clib_bihash_kv_24_8_t kvp,
void arg 
)
static

Definition at line 2799 of file api.c.

+ Here is the caller graph for this function:

static clib_error_t * admin_up_down_function ( vnet_main_t vm,
u32  hw_if_index,
u32  flags 
)
static

Definition at line 523 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void api_config_default_ip_route ( u8  is_ipv6,
u8  is_add,
u32  vrf_id,
u32  sw_if_index,
u8 next_hop_addr 
)

Definition at line 1209 of file api.c.

+ Here is the call graph for this function:

static clib_error_t* api_segment_config ( vlib_main_t vm,
unformat_input_t input 
)
static

Definition at line 6094 of file api.c.

+ Here is the call graph for this function:

static int arp_change_data_callback ( u32  pool_index,
u8 new_mac,
u32  sw_if_index,
u32  address 
)
static

Definition at line 5202 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int arp_change_delete_callback ( u32  pool_index,
u8 notused 
)
static

Definition at line 5232 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

typedef CLIB_PACKED ( struct{ip4_address_t address;u32 address_length:6;u32 index:26;}  )

Definition at line 2685 of file api.c.

+ Here is the call graph for this function:

typedef CLIB_PACKED ( struct{u8 is_ip4;u8 addr[16];}  )

Used for transferring locators via VPP API.

Definition at line 4833 of file api.c.

+ Here is the call graph for this function:

void dhcp_compl_event_callback ( u32  client_index,
u32  pid,
u8 hostname,
u8  is_ipv6,
u8 host_address,
u8 router_address,
u8 host_mac 
)

Definition at line 3011 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void dhcpv4_proxy_config ( vl_api_dhcp_proxy_config_t mp)
static

Definition at line 2905 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void dhcpv4_proxy_config_2 ( vl_api_dhcp_proxy_config_2_t mp)
static

Definition at line 2936 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void dhcpv6_proxy_config ( vl_api_dhcp_proxy_config_t mp)
static

Definition at line 2921 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void dhcpv6_proxy_config_2 ( vl_api_dhcp_proxy_config_2_t mp)
static

Definition at line 2953 of file api.c.

+ Here is the caller graph for this function:

static int event_data_cmp ( void a1,
void a2 
)
static

Definition at line 430 of file api.c.

+ Here is the caller graph for this function:

static u8* format_arp_event ( u8 s,
va_list *  args 
)
static

Definition at line 6187 of file api.c.

+ Here is the call graph for this function:

void* get_unformat_vnet_sw_interface ( void  )

Definition at line 6166 of file api.c.

static int ip4_add_del_route_t_handler ( vl_api_ip_add_del_route_t mp)
static

Definition at line 823 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int ip6_add_del_route_t_handler ( vl_api_ip_add_del_route_t mp)
static

Definition at line 1017 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int ip6_reset_fib_t_handler ( vl_api_reset_fib_t mp)
static

Definition at line 2815 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 525 of file l2_efp_filter.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 439 of file api.c.

+ Here is the call graph for this function:

static clib_error_t * link_up_down_function ( vnet_main_t vm,
u32  hw_if_index,
u32  flags 
)
static

Definition at line 509 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void lisp_gpe_add_del_fwd_entry_set_address ( vl_api_lisp_gpe_add_del_fwd_entry_t mp,
ip_address_t *  slocator,
ip_address_t *  dlocator,
gid_address_t eid 
)
static

Definition at line 4701 of file api.c.

+ Here is the caller graph for this function:

static int mpls_ethernet_add_del_tunnel_2_t_handler ( vl_api_mpls_ethernet_add_del_tunnel_2_t mp)
static

Definition at line 2002 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

pub_sub_handler ( interface_events  ,
INTERFACE_EVENTS   
)

Definition at line 579 of file api.c.

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

Definition at line 635 of file api.c.

+ Here is the call graph for this function:

static void send_bd_sw_if_details ( l2input_main_t l2im,
unix_shared_memory_queue_t q,
l2_flood_member_t member,
u32  bd_id,
u32  context 
)
static

Definition at line 1530 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_bridge_domain_details ( unix_shared_memory_queue_t q,
l2_bridge_domain_t bd_config,
u32  n_sw_ifs,
u32  context 
)
static

Definition at line 1507 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_gre_tunnel_details ( gre_tunnel_t t,
unix_shared_memory_queue_t q,
u32  context 
)
static

Definition at line 4464 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_ip_address_details ( vpe_api_main_t am,
unix_shared_memory_queue_t q,
u8 ip,
u16  prefix_length,
u8  is_ipv6,
u32  context 
)
static

Definition at line 3903 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_ip_details ( vpe_api_main_t am,
unix_shared_memory_queue_t q,
u32  sw_if_index,
u32  context 
)
static

Definition at line 3972 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_l2fib_table_entry ( vpe_api_main_t am,
unix_shared_memory_queue_t q,
l2fib_entry_key_t l2fe_key,
l2fib_entry_result_t l2fe_res,
u32  context 
)
static

Definition at line 4089 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_lisp_enable_disable_details ( unix_shared_memory_queue_t q,
u32  context 
)
static

Definition at line 5156 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_lisp_gpe_tunnel_details ( lisp_gpe_tunnel_t tunnel,
unix_shared_memory_queue_t q,
u32  context 
)
static

Definition at line 5052 of file api.c.

+ Here is the call graph for this function:

static void send_lisp_local_eid_table_details ( mapping_t mapit,
unix_shared_memory_queue_t q,
u32  context 
)
static

Definition at line 4972 of file api.c.

+ Here is the call graph for this function:

static void send_lisp_locator_set_details ( lisp_cp_main_t lcm,
locator_set_t lsit,
unix_shared_memory_queue_t q,
u32  context,
u32  index 
)
static

Definition at line 4913 of file api.c.

+ Here is the call graph for this function:

static void send_lisp_map_resolver_details ( ip_address_t *  ip,
unix_shared_memory_queue_t q,
u32  context 
)
static

Definition at line 5107 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void send_oam_event ( oam_target_t t)

Definition at line 2601 of file api.c.

+ Here is the caller graph for this function:

static void send_sw_if_l2tpv3_tunnel_details ( vpe_api_main_t am,
unix_shared_memory_queue_t q,
l2t_session_t s,
l2t_main_t lm,
u32  context 
)
static

Definition at line 3869 of file api.c.

+ Here is the call graph for this function:

static void send_sw_interface_details ( vpe_api_main_t am,
unix_shared_memory_queue_t q,
vnet_sw_interface_t swif,
u8 interface_name,
u32  context 
)
static

Definition at line 2446 of file api.c.

+ Here is the call graph for this function:

static void send_sw_interface_flags ( vpe_api_main_t am,
unix_shared_memory_queue_t q,
vnet_sw_interface_t swif 
)
static

Definition at line 2519 of file api.c.

+ Here is the call graph for this function:

static void send_sw_interface_flags_deleted ( vpe_api_main_t am,
unix_shared_memory_queue_t q,
u32  sw_if_index 
)
static

Definition at line 2545 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_sw_interface_tap_details ( vpe_api_main_t am,
unix_shared_memory_queue_t q,
tapcli_interface_details_t tap_if,
u32  context 
)
static

Definition at line 4009 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_vxlan_tunnel_details ( vxlan_tunnel_t t,
unix_shared_memory_queue_t q,
u32  context 
)
static

Definition at line 4363 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void set_ip4_flow_hash ( vl_api_set_ip_flow_hash_t mp)
static

Definition at line 3181 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void set_ip6_flow_hash ( vl_api_set_ip_flow_hash_t mp)
static

Definition at line 3171 of file api.c.

+ Here is the caller graph for this function:

static void shmem_cli_output ( uword  arg,
u8 buffer,
uword  buffer_bytes 
)
static

Definition at line 3293 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* show_ip4_arp_events_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 6197 of file api.c.

+ Here is the call graph for this function:

static void vl_api_add_node_next_t_handler ( vl_api_add_node_next_t mp)
static

Definition at line 4200 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_af_packet_create_t_handler ( vl_api_af_packet_create_t mp)
static

Definition at line 5903 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_af_packet_delete_t_handler ( vl_api_af_packet_delete_t mp)
static

Definition at line 5923 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_bd_ip_mac_add_del_t_handler ( vl_api_bd_ip_mac_add_del_t mp)
static

Definition at line 1689 of file api.c.

+ Here is the call graph for this function:

static void vl_api_bridge_domain_add_del_t_handler ( vl_api_bridge_domain_add_del_t mp)
static

Definition at line 1444 of file api.c.

+ Here is the call graph for this function:

static void vl_api_bridge_domain_details_t_handler ( vl_api_bridge_domain_details_t mp)
static

Definition at line 1495 of file api.c.

static void vl_api_bridge_domain_dump_t_handler ( vl_api_bridge_domain_dump_t mp)
static

Definition at line 1550 of file api.c.

+ Here is the call graph for this function:

static void vl_api_bridge_domain_sw_if_details_t_handler ( vl_api_bridge_domain_sw_if_details_t mp)
static

Definition at line 1501 of file api.c.

static void vl_api_bridge_flags_t_handler ( vl_api_bridge_flags_t mp)
static

Definition at line 1661 of file api.c.

+ Here is the call graph for this function:

static void vl_api_classify_add_del_session_t_handler ( vl_api_classify_add_del_session_t mp)
static

Definition at line 3590 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_classify_add_del_table_t_handler ( vl_api_classify_add_del_table_t mp)
static

Definition at line 3545 of file api.c.

+ Here is the call graph for this function:

static void vl_api_classify_set_interface_ip_table_t_handler ( vl_api_classify_set_interface_ip_table_t mp)
static

Definition at line 3611 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_classify_set_interface_l2_tables_t_handler ( vl_api_classify_set_interface_l2_tables_t mp)
static

Definition at line 3634 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_cli_request_t_handler ( vl_api_cli_request_t mp)
static

Definition at line 3320 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_control_ping_t_handler ( vl_api_control_ping_t mp)
static

Definition at line 3282 of file api.c.

+ Here is the caller graph for this function:

static void vl_api_cop_interface_enable_disable_t_handler ( vl_api_cop_interface_enable_disable_t mp)
static

Definition at line 5774 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_cop_whitelist_enable_disable_t_handler ( vl_api_cop_whitelist_enable_disable_t mp)
static

Definition at line 5793 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_create_loopback_t_handler ( vl_api_create_loopback_t mp)
static

Definition at line 3254 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_create_subif_t_handler ( vl_api_create_subif_t mp)
static

Definition at line 1865 of file api.c.

+ Here is the call graph for this function:

static void vl_api_create_vhost_user_if_t_handler ( vl_api_create_vhost_user_if_t mp)
static

Definition at line 3740 of file api.c.

+ Here is the call graph for this function:

static void vl_api_create_vlan_subif_t_handler ( vl_api_create_vlan_subif_t mp)
static

Definition at line 1793 of file api.c.

+ Here is the call graph for this function:

static void vl_api_delete_loopback_t_handler ( vl_api_delete_loopback_t mp)
static

Definition at line 3269 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_delete_vhost_user_if_t_handler ( vl_api_delete_vhost_user_if_t mp)
static

Definition at line 3782 of file api.c.

+ Here is the call graph for this function:

static void vl_api_dhcp_client_config_t_handler ( vl_api_dhcp_client_config_t mp)
static

Definition at line 3037 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_dhcp_proxy_config_2_t_handler ( vl_api_dhcp_proxy_config_2_t mp)
static

Definition at line 3003 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_dhcp_proxy_config_t_handler ( vl_api_dhcp_proxy_config_t mp)
static

Definition at line 2994 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_dhcp_proxy_set_vss_t_handler ( vl_api_dhcp_proxy_set_vss_t mp)
static

Definition at line 2974 of file api.c.

+ Here is the call graph for this function:

static void vl_api_get_node_graph_t_handler ( vl_api_get_node_graph_t mp)
static

Definition at line 5816 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_get_node_index_t_handler ( vl_api_get_node_index_t mp)
static

Definition at line 4178 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_gre_add_del_tunnel_t_handler ( vl_api_gre_add_del_tunnel_t mp)
static

Definition at line 4422 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_gre_tunnel_dump_t_handler ( vl_api_gre_tunnel_dump_t mp)
static

Definition at line 4482 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ikev2_profile_add_del_t_handler ( vl_api_ikev2_profile_add_del_t mp)
static

Definition at line 5463 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ikev2_profile_set_auth_t_handler ( vl_api_ikev2_profile_set_auth_t mp)
static

Definition at line 5485 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ikev2_profile_set_id_t_handler ( vl_api_ikev2_profile_set_id_t mp)
static

Definition at line 5510 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ikev2_profile_set_ts_t_handler ( vl_api_ikev2_profile_set_ts_t mp)
static

Definition at line 5535 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ikev2_set_local_key_t_handler ( vl_api_ikev2_set_local_key_t mp)
static

Definition at line 5559 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_input_acl_set_interface_t_handler ( vl_api_input_acl_set_interface_t mp)
static

Definition at line 5281 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_interface_name_renumber_t_handler ( vl_api_interface_name_renumber_t mp)
static

Definition at line 5187 of file api.c.

+ Here is the call graph for this function:

void vl_api_ip_add_del_route_t_handler ( vl_api_ip_add_del_route_t mp)

Definition at line 1190 of file api.c.

+ Here is the call graph for this function:

static void vl_api_ip_address_dump_t_handler ( vl_api_ip_address_dump_t mp)
static

Definition at line 3929 of file api.c.

+ Here is the call graph for this function:

static void vl_api_ip_dump_t_handler ( vl_api_ip_dump_t mp)
static

Definition at line 4052 of file api.c.

+ Here is the call graph for this function:

static void vl_api_ip_neighbor_add_del_t_handler ( vl_api_ip_neighbor_add_del_t mp,
vlib_main_t vm 
)
static

Definition at line 2217 of file api.c.

+ Here is the call graph for this function:

static void vl_api_ipsec_interface_add_del_spd_t_handler ( vl_api_ipsec_interface_add_del_spd_t mp)
static

Definition at line 5326 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ipsec_sa_set_key_t_handler ( vl_api_ipsec_sa_set_key_t mp)
static

Definition at line 5752 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ipsec_sad_add_del_entry_t_handler ( vl_api_ipsec_sad_add_del_entry_t mp)
static

Definition at line 5404 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ipsec_spd_add_del_entry_t_handler ( vl_api_ipsec_spd_add_del_entry_t mp)
static

Definition at line 5351 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_ipsec_spd_add_del_t_handler ( vl_api_ipsec_spd_add_del_t mp)
static

Definition at line 5305 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_is_address_reachable_t_handler ( vl_api_is_address_reachable_t mp)
static

Definition at line 2293 of file api.c.

+ Here is the call graph for this function:

static void vl_api_l2_fib_clear_table_t_handler ( vl_api_l2_fib_clear_table_t mp)
static

Definition at line 3667 of file api.c.

+ Here is the call graph for this function:

static void vl_api_l2_fib_table_dump_t_handler ( vl_api_l2_fib_table_dump_t mp)
static

Definition at line 4114 of file api.c.

+ Here is the call graph for this function:

static void vl_api_l2_fib_table_entry_t_handler ( vl_api_l2_fib_table_entry_t mp)
static

Definition at line 4083 of file api.c.

static void vl_api_l2_flags_t_handler ( vl_api_l2_flags_t mp)
static

Definition at line 1638 of file api.c.

static void vl_api_l2_interface_efp_filter_t_handler ( vl_api_l2_interface_efp_filter_t mp)
static

Definition at line 3686 of file api.c.

+ Here is the call graph for this function:

static void vl_api_l2_interface_vlan_tag_rewrite_t_handler ( vl_api_l2_interface_vlan_tag_rewrite_t mp)
static

Definition at line 3700 of file api.c.

+ Here is the call graph for this function:

static void vl_api_l2_patch_add_del_t_handler ( vl_api_l2_patch_add_del_t mp)
static

Definition at line 4512 of file api.c.

+ Here is the call graph for this function:

static void vl_api_l2fib_add_del_t_handler ( vl_api_l2fib_add_del_t mp)
static

Definition at line 1587 of file api.c.

+ Here is the call graph for this function:

static void vl_api_l2tpv3_create_tunnel_t_handler ( vl_api_l2tpv3_create_tunnel_t mp)
static

Definition at line 4230 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_l2tpv3_interface_enable_disable_t_handler ( vl_api_l2tpv3_interface_enable_disable_t mp)
static

Definition at line 4278 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_l2tpv3_set_lookup_key_t_handler ( vl_api_l2tpv3_set_lookup_key_t mp)
static

Definition at line 4295 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_l2tpv3_set_tunnel_cookies_t_handler ( vl_api_l2tpv3_set_tunnel_cookies_t mp)
static

Definition at line 4260 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_lisp_add_del_local_eid_t_handler ( vl_api_lisp_add_del_local_eid_t mp)
static

Definition at line 4649 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_add_del_locator_set_t_handler ( vl_api_lisp_add_del_locator_set_t mp)
static

Definition at line 4589 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_add_del_locator_t_handler ( vl_api_lisp_add_del_locator_t mp)
static

Definition at line 4614 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_add_del_map_resolver_t_handler ( vl_api_lisp_add_del_map_resolver_t mp)
static

Definition at line 4765 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_add_del_remote_mapping_t_handler ( vl_api_lisp_add_del_remote_mapping_t mp)
static

Definition at line 4857 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_enable_disable_status_dump_t_handler ( vl_api_lisp_enable_disable_status_dump_t mp)
static

Definition at line 5174 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_lisp_enable_disable_t_handler ( vl_api_lisp_enable_disable_t mp)
static

Definition at line 4806 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_gpe_add_del_fwd_entry_t_handler ( vl_api_lisp_gpe_add_del_fwd_entry_t mp)
static

Definition at line 4742 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_gpe_add_del_iface_t_handler ( vl_api_lisp_gpe_add_del_iface_t mp)
static

Definition at line 4817 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_gpe_enable_disable_t_handler ( vl_api_lisp_gpe_enable_disable_t mp)
static

Definition at line 4792 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_gpe_tunnel_dump_t_handler ( vl_api_lisp_local_eid_table_dump_t mp)
static

Definition at line 5084 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_local_eid_table_dump_t_handler ( vl_api_lisp_local_eid_table_dump_t mp)
static

Definition at line 5033 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_locator_set_dump_t_handler ( vl_api_lisp_locator_set_dump_t mp)
static

Definition at line 4952 of file api.c.

+ Here is the call graph for this function:

static void vl_api_lisp_map_resolver_dump_t_handler ( vl_api_lisp_local_eid_table_dump_t mp)
static

Definition at line 5137 of file api.c.

+ Here is the call graph for this function:

static void vl_api_map_add_del_rule_t_handler ( vl_api_map_add_del_rule_t mp)
static

Definition at line 5611 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_map_add_domain_t_handler ( vl_api_map_add_domain_t mp)
static

Definition at line 5580 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_map_del_domain_t_handler ( vl_api_map_del_domain_t mp)
static

Definition at line 5599 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_map_domain_dump_t_handler ( vl_api_map_domain_dump_t mp)
static

Definition at line 5623 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_map_rule_dump_t_handler ( vl_api_map_rule_dump_t mp)
static

Definition at line 5662 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_map_summary_stats_t_handler ( vl_api_map_summary_stats_t mp)
static

Definition at line 5701 of file api.c.

+ Here is the call graph for this function:

int vl_api_memclnt_delete_callback ( u32  client_index)

Definition at line 405 of file api.c.

+ Here is the call graph for this function:

static void vl_api_modify_vhost_user_if_t_handler ( vl_api_modify_vhost_user_if_t mp)
static

Definition at line 3763 of file api.c.

+ Here is the call graph for this function:

static void vl_api_mpls_add_del_decap_t_handler ( vl_api_mpls_add_del_decap_t mp)
static

Definition at line 2136 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_mpls_add_del_encap_t_handler ( vl_api_mpls_add_del_encap_t mp)
static

Definition at line 2111 of file api.c.

+ Here is the call graph for this function:

static void vl_api_mpls_ethernet_add_del_tunnel_2_t_handler ( vl_api_mpls_ethernet_add_del_tunnel_2_t mp)
static

Definition at line 2099 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_mpls_ethernet_add_del_tunnel_t_handler ( vl_api_mpls_ethernet_add_del_tunnel_t mp)
static

Definition at line 1972 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_mpls_gre_add_del_tunnel_t_handler ( vl_api_mpls_gre_add_del_tunnel_t mp)
static

Definition at line 1944 of file api.c.

+ Here is the call graph for this function:

static void vl_api_oam_add_del_t_handler ( vl_api_oam_add_del_t mp)
static

Definition at line 2622 of file api.c.

+ Here is the call graph for this function:

static void vl_api_policer_add_del_t_handler ( vl_api_policer_add_del_t mp)
static

Definition at line 5942 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_proxy_arp_add_del_t_handler ( vl_api_proxy_arp_add_del_t mp)
static

Definition at line 2149 of file api.c.

+ Here is the call graph for this function:

static void vl_api_proxy_arp_intfc_enable_disable_t_handler ( vl_api_proxy_arp_intfc_enable_disable_t mp)
static

Definition at line 2183 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_reset_fib_t_handler ( vl_api_reset_fib_t mp)
static

Definition at line 2890 of file api.c.

+ Here is the call graph for this function:

static void vl_api_set_arp_neighbor_limit_t_handler ( vl_api_set_arp_neighbor_limit_t mp)
static

Definition at line 3356 of file api.c.

+ Here is the call graph for this function:

static void vl_api_set_ip_flow_hash_t_handler ( vl_api_set_ip_flow_hash_t mp)
static

Definition at line 3201 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_show_version_t_handler ( vl_api_show_version_t mp)
static

Definition at line 4151 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sr_multicast_map_add_del_t_handler ( vl_api_sr_multicast_map_add_del_t mp)
static

Definition at line 3495 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sr_policy_add_del_t_handler ( vl_api_sr_policy_add_del_t mp)
static

Definition at line 3441 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sr_tunnel_add_del_t_handler ( vl_api_sr_tunnel_add_del_t mp)
static

Definition at line 3381 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_if_l2tpv3_tunnel_dump_t_handler ( vl_api_sw_if_l2tpv3_tunnel_dump_t mp)
static

Definition at line 3990 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_add_del_address_t_handler ( vl_api_sw_interface_add_del_address_t mp)
static

Definition at line 1252 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_interface_clear_stats_t_handler ( vl_api_sw_interface_clear_stats_t mp)
static

Definition at line 2388 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_details_t_handler ( vl_api_sw_interface_details_t mp)
static

Definition at line 2357 of file api.c.

static void vl_api_sw_interface_dump_t_handler ( vl_api_sw_interface_dump_t mp)
static

Definition at line 2562 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_ip6_enable_disable_t_handler ( vl_api_sw_interface_ip6_enable_disable_t mp,
vlib_main_t vm 
)
static

Definition at line 3116 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_interface_ip6_set_link_local_address_t_handler ( vl_api_sw_interface_ip6_set_link_local_address_t mp,
vlib_main_t vm 
)
static

Definition at line 3144 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_interface_ip6nd_ra_config_t_handler ( vl_api_sw_interface_ip6nd_ra_config_t mp,
vlib_main_t vm 
)
static

Definition at line 3057 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_interface_ip6nd_ra_prefix_t_handler ( vl_api_sw_interface_ip6nd_ra_prefix_t mp,
vlib_main_t vm 
)
static

Definition at line 3089 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_interface_set_flags_t_handler ( vl_api_sw_interface_set_flags_t mp)
static

Definition at line 2363 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_set_l2_bridge_t_handler ( vl_api_sw_interface_set_l2_bridge_t mp)
static

Definition at line 1412 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_set_l2_xconnect_t_handler ( vl_api_sw_interface_set_l2_xconnect_t mp)
static

Definition at line 1385 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_set_table_t_handler ( vl_api_sw_interface_set_table_t mp)
static

Definition at line 1280 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_set_unnumbered_t_handler ( vl_api_sw_interface_set_unnumbered_t mp)
static

Definition at line 3210 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_interface_set_vpath_t_handler ( vl_api_sw_interface_set_vpath_t mp)
static

Definition at line 1324 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_tap_dump_t_handler ( vl_api_sw_interface_tap_dump_t mp)
static

Definition at line 4027 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_vhost_user_details_t_handler ( vl_api_sw_interface_vhost_user_details_t mp)
static

Definition at line 3807 of file api.c.

+ Here is the call graph for this function:

static void vl_api_sw_interface_vhost_user_dump_t_handler ( vl_api_sw_interface_vhost_user_dump_t mp)
static

Definition at line 3842 of file api.c.

+ Here is the call graph for this function:

static void vl_api_tap_connect_t_handler ( vl_api_tap_connect_t mp,
vlib_main_t vm 
)
static

Definition at line 1715 of file api.c.

+ Here is the call graph for this function:

static void vl_api_tap_delete_t_handler ( vl_api_tap_delete_t mp,
vlib_main_t vm 
)
static

Definition at line 1767 of file api.c.

+ Here is the call graph for this function:

static void vl_api_tap_modify_t_handler ( vl_api_tap_modify_t mp,
vlib_main_t vm 
)
static

Definition at line 1741 of file api.c.

+ Here is the call graph for this function:

static void vl_api_trace_profile_add_t_handler ( vl_api_trace_profile_add_t mp)
static

Definition at line 5846 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_trace_profile_apply_t_handler ( vl_api_trace_profile_apply_t mp)
static

Definition at line 5867 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_trace_profile_del_t_handler ( vl_api_trace_profile_del_t mp)
static

Definition at line 5886 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_vnet_get_summary_stats_t_handler ( vl_api_vnet_get_summary_stats_t mp)
static

Definition at line 2636 of file api.c.

+ Here is the call graph for this function:

static void vl_api_vxlan_add_del_tunnel_t_handler ( vl_api_vxlan_add_del_tunnel_t mp)
static

Definition at line 4313 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_vxlan_gpe_add_del_tunnel_t_handler ( vl_api_vxlan_gpe_add_del_tunnel_t mp)
static

Definition at line 4536 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_vxlan_tunnel_dump_t_handler ( vl_api_vxlan_tunnel_dump_t mp)
static

Definition at line 4392 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_want_ip4_arp_events_t_handler ( vl_api_want_ip4_arp_events_t mp)
static

Definition at line 5245 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vl_msg_api_version_check ( vl_api_memclnt_create_t mp)

Definition at line 6176 of file api.c.

VLIB_API_INIT_FUNCTION ( vpe_api_hookup  )

+ Here is the caller graph for this function:

VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION ( link_up_down_function  )
VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION ( admin_up_down_function  )
static clib_error_t* vpe_api_hookup ( vlib_main_t vm)
static

Definition at line 6009 of file api.c.

+ Here is the call graph for this function:

static clib_error_t* vpe_api_init ( vlib_main_t vm)
static

Definition at line 6070 of file api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

vlib_node_registration_t link_state_process_node
Initial value:
= {
.function = link_state_process,
.name = "vpe-link-state-process",
}
static uword link_state_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: api.c:439

(constructor) VLIB_REGISTER_NODE (link_state_process_node)

Definition at line 499 of file api.c.

vlib_cli_command_t show_ip4_arp_events
Initial value:
= {
.path = "show arp event registrations",
.short_help = "Show arp event registrations",
}
static clib_error_t * show_ip4_arp_events_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: api.c:6197

(constructor) VLIB_CLI_COMMAND (show_ip4_arp_events)

Definition at line 6217 of file api.c.

vpe_api_main_t vpe_api_main
static

Definition at line 392 of file api.c.

vlib_node_registration_t vpe_resolver_process_node
static
Initial value:
= {
.function = resolver_process,
.name = "vpe-route-resolver-process",
}
static uword resolver_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: api.c:635

(constructor) VLIB_REGISTER_NODE (vpe_resolver_process_node)

Definition at line 391 of file api.c.