aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2017-03-02 13:13:23 -0500
committerDamjan Marion <dmarion.lists@gmail.com>2017-03-02 20:33:52 +0000
commita1a093d4e46e38503332a97ad216f80053a15f2b (patch)
treeac0c40a3985b9593b141b534978d3f3ee91a65ec
parent25b36674f7e9072084f8f149067450f5eb6a5841 (diff)
Clean up binary api message handler registration issues
Removed a fair number of "BUG" message handlers, due to conflicts with actual message handlers in api_format.c. Vpp itself had no business receiving certain messages, up to the point where we started building in relevant code from vpp_api_test. Eliminated all but one duplicate registration complaint. That one needs attention from the vxlan team since the duplicated handlers have diverged. Change-Id: Iafce5429d2f906270643b4ea5f0130e20beb4d1d Signed-off-by: Dave Barach <dave@barachs.net>
-rw-r--r--src/vat/api_format.c43
-rw-r--r--src/vlib/unix/input.c31
-rw-r--r--src/vlibapi/api.h15
-rw-r--r--src/vlibapi/api_shared.c4
-rw-r--r--src/vnet/classify/classify_api.c8
-rw-r--r--src/vnet/devices/virtio/vhost_user_api.c10
-rw-r--r--src/vnet/dhcp/dhcp_api.c8
-rw-r--r--src/vnet/interface_api.c7
-rw-r--r--src/vnet/ip/ip_api.c83
-rw-r--r--src/vnet/l2/l2_api.c22
-rw-r--r--src/vnet/mpls/mpls_api.c28
-rw-r--r--src/vpp/api/api.c211
-rw-r--r--src/vpp/api/api_main.c1
-rw-r--r--src/vpp/stats/stats.c7
14 files changed, 81 insertions, 397 deletions
diff --git a/src/vat/api_format.c b/src/vat/api_format.c
index 1321bade..52436917 100644
--- a/src/vat/api_format.c
+++ b/src/vat/api_format.c
@@ -944,6 +944,7 @@ static void vl_api_sw_interface_details_t_handler_json
}
}
+#if VPP_API_TEST_BUILTIN == 0
static void vl_api_sw_interface_set_flags_t_handler
(vl_api_sw_interface_set_flags_t * mp)
{
@@ -954,6 +955,7 @@ static void vl_api_sw_interface_set_flags_t_handler
mp->admin_up_down ? "admin-up" : "admin-down",
mp->link_up_down ? "link-up" : "link-down");
}
+#endif
static void vl_api_sw_interface_set_flags_t_handler_json
(vl_api_sw_interface_set_flags_t * mp)
@@ -4009,7 +4011,6 @@ foreach_standard_reply_retval_handler;
#define foreach_vpe_api_reply_msg \
_(CREATE_LOOPBACK_REPLY, create_loopback_reply) \
_(SW_INTERFACE_DETAILS, sw_interface_details) \
-_(SW_INTERFACE_SET_FLAGS, sw_interface_set_flags) \
_(SW_INTERFACE_SET_FLAGS_REPLY, sw_interface_set_flags_reply) \
_(CONTROL_PING_REPLY, control_ping_reply) \
_(CLI_REPLY, cli_reply) \
@@ -4126,11 +4127,6 @@ _(IKEV2_INITIATE_REKEY_CHILD_SA_REPLY, ikev2_initiate_rekey_child_sa_reply) \
_(DELETE_LOOPBACK_REPLY, delete_loopback_reply) \
_(BD_IP_MAC_ADD_DEL_REPLY, bd_ip_mac_add_del_reply) \
_(DHCP_COMPL_EVENT, dhcp_compl_event) \
-_(VNET_INTERFACE_COUNTERS, vnet_interface_counters) \
-_(VNET_IP4_FIB_COUNTERS, vnet_ip4_fib_counters) \
-_(VNET_IP6_FIB_COUNTERS, vnet_ip6_fib_counters) \
-_(VNET_IP4_NBR_COUNTERS, vnet_ip4_nbr_counters) \
-_(VNET_IP6_NBR_COUNTERS, vnet_ip6_nbr_counters) \
_(MAP_ADD_DOMAIN_REPLY, map_add_domain_reply) \
_(MAP_DEL_DOMAIN_REPLY, map_del_domain_reply) \
_(MAP_ADD_DEL_RULE_REPLY, map_add_del_rule_reply) \
@@ -4232,6 +4228,14 @@ _(SW_INTERFACE_SET_MTU_REPLY, sw_interface_set_mtu_reply) \
_(IP_NEIGHBOR_DETAILS, ip_neighbor_details) \
_(SW_INTERFACE_GET_TABLE_REPLY, sw_interface_get_table_reply)
+#define foreach_standalone_reply_msg \
+_(SW_INTERFACE_SET_FLAGS, sw_interface_set_flags) \
+_(VNET_INTERFACE_COUNTERS, vnet_interface_counters) \
+_(VNET_IP4_FIB_COUNTERS, vnet_ip4_fib_counters) \
+_(VNET_IP6_FIB_COUNTERS, vnet_ip6_fib_counters) \
+_(VNET_IP4_NBR_COUNTERS, vnet_ip4_nbr_counters) \
+_(VNET_IP6_NBR_COUNTERS, vnet_ip6_nbr_counters)
+
typedef struct
{
u8 *name;
@@ -15425,7 +15429,15 @@ api_af_packet_create (vat_main_t * vam)
vec_free (host_if_name);
S (mp);
- W2 (ret, fprintf (vam->ofp, " new sw_if_index = %d ", vam->sw_if_index));
+
+ /* *INDENT-OFF* */
+ W2 (ret,
+ ({
+ if (ret == 0)
+ fprintf (vam->ofp ? vam->ofp : stderr,
+ " new sw_if_index = %d\n", vam->sw_if_index);
+ }));
+ /* *INDENT-ON* */
return ret;
}
@@ -18417,6 +18429,9 @@ _(unset, "usage: unset <variable-name>")
} \
}
foreach_vpe_api_reply_msg;
+#if VPP_API_TEST_BUILTIN == 0
+foreach_standalone_reply_msg;
+#endif
#undef _
void
@@ -18430,6 +18445,9 @@ vat_api_hookup (vat_main_t * vam)
vl_api_##n##_t_print, \
sizeof(vl_api_##n##_t), 1);
foreach_vpe_api_reply_msg;
+#if VPP_API_TEST_BUILTIN == 0
+ foreach_standalone_reply_msg;
+#endif
#undef _
#if (VPP_API_TEST_BUILTIN==0)
@@ -18463,6 +18481,17 @@ vat_api_hookup (vat_main_t * vam)
#undef _
}
+#if VPP_API_TEST_BUILTIN
+static clib_error_t *
+vat_api_hookup_shim (vlib_main_t * vm)
+{
+ vat_api_hookup (&vat_main);
+ return 0;
+}
+
+VLIB_API_INIT_FUNCTION (vat_api_hookup_shim);
+#endif
+
/*
* fd.io coding-style-patch-verification: ON
*
diff --git a/src/vlib/unix/input.c b/src/vlib/unix/input.c
index 07096ed2..7b4183a4 100644
--- a/src/vlib/unix/input.c
+++ b/src/vlib/unix/input.c
@@ -66,6 +66,7 @@ linux_epoll_file_update (unix_file_t * f, unix_file_update_type_t update_type)
unix_main_t *um = &unix_main;
linux_epoll_main_t *em = &linux_epoll_main;
struct epoll_event e;
+ int op;
memset (&e, 0, sizeof (e));
@@ -76,13 +77,29 @@ linux_epoll_file_update (unix_file_t * f, unix_file_update_type_t update_type)
e.events |= EPOLLET;
e.data.u32 = f - um->file_pool;
- if (epoll_ctl (em->epoll_fd,
- (update_type == UNIX_FILE_UPDATE_ADD
- ? EPOLL_CTL_ADD
- : (update_type == UNIX_FILE_UPDATE_MODIFY
- ? EPOLL_CTL_MOD
- : EPOLL_CTL_DEL)), f->file_descriptor, &e) < 0)
- clib_warning ("epoll_ctl");
+ op = -1;
+
+ switch (update_type)
+ {
+ case UNIX_FILE_UPDATE_ADD:
+ op = EPOLL_CTL_ADD;
+ break;
+
+ case UNIX_FILE_UPDATE_MODIFY:
+ op = EPOLL_CTL_MOD;
+ break;
+
+ case UNIX_FILE_UPDATE_DELETE:
+ op = EPOLL_CTL_DEL;
+ break;
+
+ default:
+ clib_warning ("unknown update_type %d", update_type);
+ return;
+ }
+
+ if (epoll_ctl (em->epoll_fd, op, f->file_descriptor, &e) < 0)
+ clib_unix_warning ("epoll_ctl");
}
static uword
diff --git a/src/vlibapi/api.h b/src/vlibapi/api.h
index fcb101d7..b40ece15 100644
--- a/src/vlibapi/api.h
+++ b/src/vlibapi/api.h
@@ -271,6 +271,21 @@ vlib_node_t **vlib_node_unserialize (u8 * vector);
#define VLIB_API_INIT_FUNCTION(x) VLIB_DECLARE_INIT_FUNCTION(x,api_init)
+/* Call given init function: used for init function dependencies. */
+#define vlib_call_api_init_function(vm, x) \
+ ({ \
+ extern vlib_init_function_t * _VLIB_INIT_FUNCTION_SYMBOL (x,api_init); \
+ vlib_init_function_t * _f = _VLIB_INIT_FUNCTION_SYMBOL (x,api_init); \
+ clib_error_t * _error = 0; \
+ if (! hash_get (vm->init_functions_called, _f)) \
+ { \
+ hash_set1 (vm->init_functions_called, _f); \
+ _error = _f (vm); \
+ } \
+ _error; \
+ })
+
+
#endif /* included_api_h */
/*
diff --git a/src/vlibapi/api_shared.c b/src/vlibapi/api_shared.c
index 1a2740e2..79921afe 100644
--- a/src/vlibapi/api_shared.c
+++ b/src/vlibapi/api_shared.c
@@ -667,6 +667,10 @@ vl_msg_api_config (vl_msg_api_msg_config_t * c)
foreach_msg_api_vector;
#undef _
+ if (am->msg_names[c->id])
+ clib_warning ("BUG: multiple registrations of 'vl_api_%s_t_handler'",
+ c->name);
+
am->msg_names[c->id] = c->name;
am->msg_handlers[c->id] = c->handler;
am->msg_cleanup_handlers[c->id] = c->cleanup;
diff --git a/src/vnet/classify/classify_api.c b/src/vnet/classify/classify_api.c
index 77a8b434..24c7a2b9 100644
--- a/src/vnet/classify/classify_api.c
+++ b/src/vnet/classify/classify_api.c
@@ -53,7 +53,6 @@ _(CLASSIFY_TABLE_IDS,classify_table_ids) \
_(CLASSIFY_TABLE_BY_INTERFACE, classify_table_by_interface) \
_(CLASSIFY_TABLE_INFO,classify_table_info) \
_(CLASSIFY_SESSION_DUMP,classify_session_dump) \
-_(CLASSIFY_SESSION_DETAILS,classify_session_details) \
_(POLICER_CLASSIFY_SET_INTERFACE, policer_classify_set_interface) \
_(POLICER_CLASSIFY_DUMP, policer_classify_dump) \
_(FLOW_CLASSIFY_SET_INTERFACE, flow_classify_set_interface) \
@@ -357,13 +356,6 @@ vl_api_classify_table_info_t_handler (vl_api_classify_table_info_t * mp)
}
static void
-vl_api_classify_session_details_t_handler (vl_api_classify_session_details_t *
- mp)
-{
- clib_warning ("BUG");
-}
-
-static void
send_classify_session_details (unix_shared_memory_queue_t * q,
u32 table_id,
u32 match_length,
diff --git a/src/vnet/devices/virtio/vhost_user_api.c b/src/vnet/devices/virtio/vhost_user_api.c
index dd517c26..8dbd032b 100644
--- a/src/vnet/devices/virtio/vhost_user_api.c
+++ b/src/vnet/devices/virtio/vhost_user_api.c
@@ -46,8 +46,7 @@
_(CREATE_VHOST_USER_IF, create_vhost_user_if) \
_(MODIFY_VHOST_USER_IF, modify_vhost_user_if) \
_(DELETE_VHOST_USER_IF, delete_vhost_user_if) \
-_(SW_INTERFACE_VHOST_USER_DUMP, sw_interface_vhost_user_dump) \
-_(SW_INTERFACE_VHOST_USER_DETAILS, sw_interface_vhost_user_details)
+_(SW_INTERFACE_VHOST_USER_DUMP, sw_interface_vhost_user_dump)
/*
* WARNING: replicated pending api refactor completion
@@ -149,13 +148,6 @@ 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)
-{
- clib_warning ("BUG");
-}
-
-static void
send_sw_interface_vhost_user_details (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
vhost_user_intf_details_t * vui,
diff --git a/src/vnet/dhcp/dhcp_api.c b/src/vnet/dhcp/dhcp_api.c
index bdf02cae..ce34f6a4 100644
--- a/src/vnet/dhcp/dhcp_api.c
+++ b/src/vnet/dhcp/dhcp_api.c
@@ -46,7 +46,6 @@
#define foreach_vpe_api_msg \
_(DHCP_PROXY_CONFIG,dhcp_proxy_config) \
_(DHCP_PROXY_DUMP,dhcp_proxy_dump) \
-_(DHCP_PROXY_DETAILS,dhcp_proxy_details) \
_(DHCP_PROXY_SET_VSS,dhcp_proxy_set_vss) \
_(DHCP_CLIENT_CONFIG, dhcp_client_config)
@@ -158,13 +157,6 @@ dhcp_send_details (fib_protocol_t proto,
vl_msg_api_send_shmem (q, (u8 *) & mp);
}
-
-static void
-vl_api_dhcp_proxy_details_t_handler (vl_api_dhcp_proxy_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
void
dhcp_compl_event_callback (u32 client_index, u32 pid, u8 * hostname,
u8 is_ipv6, u8 * host_address, u8 * router_address,
diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c
index 63f7cad4..60cd6d40 100644
--- a/src/vnet/interface_api.c
+++ b/src/vnet/interface_api.c
@@ -50,7 +50,6 @@ _(SW_INTERFACE_SET_FLAGS, sw_interface_set_flags) \
_(SW_INTERFACE_SET_MTU, sw_interface_set_mtu) \
_(WANT_INTERFACE_EVENTS, want_interface_events) \
_(SW_INTERFACE_DUMP, sw_interface_dump) \
-_(SW_INTERFACE_DETAILS, sw_interface_details) \
_(SW_INTERFACE_ADD_DEL_ADDRESS, sw_interface_add_del_address) \
_(SW_INTERFACE_SET_TABLE, sw_interface_set_table) \
_(SW_INTERFACE_GET_TABLE, sw_interface_get_table) \
@@ -684,12 +683,6 @@ out:
REPLY_MACRO (VL_API_SW_INTERFACE_TAG_ADD_DEL_REPLY);
}
-static void
-vl_api_sw_interface_details_t_handler (vl_api_sw_interface_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
/*
* vpe_api_hookup
* Add vpe's API message handlers to the table.
diff --git a/src/vnet/ip/ip_api.c b/src/vnet/ip/ip_api.c
index 49d941c2..ab164a5f 100644
--- a/src/vnet/ip/ip_api.c
+++ b/src/vnet/ip/ip_api.c
@@ -59,17 +59,12 @@
#define foreach_ip_api_msg \
_(IP_FIB_DUMP, ip_fib_dump) \
-_(IP_FIB_DETAILS, ip_fib_details) \
_(IP6_FIB_DUMP, ip6_fib_dump) \
-_(IP6_FIB_DETAILS, ip6_fib_details) \
_(IP_MFIB_DUMP, ip_mfib_dump) \
-_(IP_MFIB_DETAILS, ip_mfib_details) \
_(IP6_MFIB_DUMP, ip6_mfib_dump) \
-_(IP6_MFIB_DETAILS, ip6_mfib_details) \
_(IP_NEIGHBOR_DUMP, ip_neighbor_dump) \
_(IP_MROUTE_ADD_DEL, ip_mroute_add_del) \
_(MFIB_SIGNAL_DUMP, mfib_signal_dump) \
-_(IP_NEIGHBOR_DETAILS, ip_neighbor_details) \
_(IP_ADDRESS_DUMP, ip_address_dump) \
_(IP_DUMP, ip_dump) \
_(IP_NEIGHBOR_ADD_DEL, ip_neighbor_add_del) \
@@ -106,12 +101,6 @@ send_ip_neighbor_details (u8 is_ipv6,
}
static void
-vl_api_ip_neighbor_details_t_handler (vl_api_ip_neighbor_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
vl_api_ip_neighbor_dump_t_handler (vl_api_ip_neighbor_dump_t * mp)
{
unix_shared_memory_queue_t *q;
@@ -186,24 +175,6 @@ copy_fib_next_hop (fib_route_path_encode_t * api_rpath, void *fp_arg)
}
static void
-vl_api_ip_fib_details_t_handler (vl_api_ip_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_ip_fib_details_t_endian (vl_api_ip_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_ip_fib_details_t_print (vl_api_ip_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
send_ip_fib_details (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
u32 table_id, fib_prefix_t * pfx,
@@ -317,24 +288,6 @@ vl_api_ip_fib_dump_t_handler (vl_api_ip_fib_dump_t * mp)
}
static void
-vl_api_ip6_fib_details_t_handler (vl_api_ip6_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_ip6_fib_details_t_endian (vl_api_ip6_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_ip6_fib_details_t_print (vl_api_ip6_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
send_ip6_fib_details (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
u32 table_id, fib_prefix_t * pfx,
@@ -470,24 +423,6 @@ vl_api_ip6_fib_dump_t_handler (vl_api_ip6_fib_dump_t * mp)
}
static void
-vl_api_ip_mfib_details_t_handler (vl_api_ip_mfib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_ip_mfib_details_t_endian (vl_api_ip_mfib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_ip_mfib_details_t_print (vl_api_ip_mfib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
send_ip_mfib_details (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
u32 table_id,
@@ -592,24 +527,6 @@ vl_api_ip_mfib_dump_t_handler (vl_api_ip_mfib_dump_t * mp)
}
static void
-vl_api_ip6_mfib_details_t_handler (vl_api_ip6_mfib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_ip6_mfib_details_t_endian (vl_api_ip6_mfib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_ip6_mfib_details_t_print (vl_api_ip6_mfib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
send_ip6_mfib_details (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
u32 table_id,
diff --git a/src/vnet/l2/l2_api.c b/src/vnet/l2/l2_api.c
index a3cc49bf..a985852c 100644
--- a/src/vnet/l2/l2_api.c
+++ b/src/vnet/l2/l2_api.c
@@ -48,13 +48,10 @@
_(L2_XCONNECT_DUMP, l2_xconnect_dump) \
_(L2_FIB_CLEAR_TABLE, l2_fib_clear_table) \
_(L2_FIB_TABLE_DUMP, l2_fib_table_dump) \
-_(L2_FIB_TABLE_ENTRY, l2_fib_table_entry) \
_(L2FIB_ADD_DEL, l2fib_add_del) \
_(L2_FLAGS, l2_flags) \
_(BRIDGE_DOMAIN_ADD_DEL, bridge_domain_add_del) \
_(BRIDGE_DOMAIN_DUMP, bridge_domain_dump) \
-_(BRIDGE_DOMAIN_DETAILS, bridge_domain_details) \
-_(BRIDGE_DOMAIN_SW_IF_DETAILS, bridge_domain_sw_if_details) \
_(BRIDGE_FLAGS, bridge_flags) \
_(L2_INTERFACE_VLAN_TAG_REWRITE, l2_interface_vlan_tag_rewrite) \
_(L2_INTERFACE_PBB_TAG_REWRITE, l2_interface_pbb_tag_rewrite)
@@ -141,12 +138,6 @@ send_l2fib_table_entry (vpe_api_main_t * am,
}
static void
-vl_api_l2_fib_table_entry_t_handler (vl_api_l2_fib_table_entry_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
vl_api_l2_fib_table_dump_t_handler (vl_api_l2_fib_table_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
@@ -330,19 +321,6 @@ 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)
-{
- clib_warning ("BUG");
-}
-
-static void
- vl_api_bridge_domain_sw_if_details_t_handler
- (vl_api_bridge_domain_sw_if_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
send_bridge_domain_details (unix_shared_memory_queue_t * q,
l2_bridge_domain_t * bd_config,
u32 n_sw_ifs, u32 context)
diff --git a/src/vnet/mpls/mpls_api.c b/src/vnet/mpls/mpls_api.c
index ebbeba69..a36a5046 100644
--- a/src/vnet/mpls/mpls_api.c
+++ b/src/vnet/mpls/mpls_api.c
@@ -50,9 +50,7 @@ _(MPLS_IP_BIND_UNBIND, mpls_ip_bind_unbind) \
_(MPLS_ROUTE_ADD_DEL, mpls_route_add_del) \
_(MPLS_TUNNEL_ADD_DEL, mpls_tunnel_add_del) \
_(MPLS_TUNNEL_DUMP, mpls_tunnel_dump) \
-_(MPLS_TUNNEL_DETAILS, mpls_tunnel_details) \
-_(MPLS_FIB_DUMP, mpls_fib_dump) \
-_(MPLS_FIB_DETAILS, mpls_fib_details)
+_(MPLS_FIB_DUMP, mpls_fib_dump)
extern void stats_dslock_with_hint (int hint, int tag);
extern void stats_dsunlock (void);
@@ -280,12 +278,6 @@ vl_api_mpls_tunnel_add_del_t_handler (vl_api_mpls_tunnel_add_del_t * mp)
/* *INDENT-ON* */
}
-static void
-vl_api_mpls_tunnel_details_t_handler (vl_api_mpls_tunnel_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
typedef struct mpls_tunnel_send_walk_ctx_t_
{
unix_shared_memory_queue_t *q;
@@ -341,24 +333,6 @@ vl_api_mpls_tunnel_dump_t_handler (vl_api_mpls_tunnel_dump_t * mp)
}
static void
-vl_api_mpls_fib_details_t_handler (vl_api_mpls_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_mpls_fib_details_t_endian (vl_api_mpls_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
-vl_api_mpls_fib_details_t_print (vl_api_mpls_fib_details_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
send_mpls_fib_details (vpe_api_main_t * am,
unix_shared_memory_queue_t * q,
u32 table_id, u32 label, u32 eos,
diff --git a/src/vpp/api/api.c b/src/vpp/api/api.c
index 60fd0199..a8f471e8 100644
--- a/src/vpp/api/api.c
+++ b/src/vpp/api/api.c
@@ -128,12 +128,8 @@ _(CLASSIFY_SET_INTERFACE_IP_TABLE, classify_set_interface_ip_table) \
_(CLASSIFY_SET_INTERFACE_L2_TABLES, classify_set_interface_l2_tables) \
_(GET_NODE_INDEX, get_node_index) \
_(ADD_NODE_NEXT, add_node_next) \
-_(VXLAN_ADD_DEL_TUNNEL, vxlan_add_del_tunnel) \
-_(VXLAN_TUNNEL_DUMP, vxlan_tunnel_dump) \
_(L2_INTERFACE_EFP_FILTER, l2_interface_efp_filter) \
_(SHOW_VERSION, show_version) \
-_(VXLAN_GPE_ADD_DEL_TUNNEL, vxlan_gpe_add_del_tunnel) \
-_(VXLAN_GPE_TUNNEL_DUMP, vxlan_gpe_tunnel_dump) \
_(INTERFACE_NAME_RENUMBER, interface_name_renumber) \
_(WANT_IP4_ARP_EVENTS, want_ip4_arp_events) \
_(WANT_IP6_ND_EVENTS, want_ip6_nd_events) \
@@ -1436,62 +1432,6 @@ out:
/* *INDENT-ON* */
}
-static void vl_api_vxlan_add_del_tunnel_t_handler
- (vl_api_vxlan_add_del_tunnel_t * mp)
-{
- vl_api_vxlan_add_del_tunnel_reply_t *rmp;
- int rv = 0;
- vnet_vxlan_add_del_tunnel_args_t _a, *a = &_a;
- u32 encap_fib_index;
- uword *p;
- ip4_main_t *im = &ip4_main;
- vnet_main_t *vnm = vnet_get_main ();
- u32 sw_if_index = ~0;
-
- p = hash_get (im->fib_index_by_table_id, ntohl (mp->encap_vrf_id));
- if (!p)
- {
- rv = VNET_API_ERROR_NO_SUCH_FIB;
- goto out;
- }
- encap_fib_index = p[0];
- memset (a, 0, sizeof (*a));
-
- a->is_add = mp->is_add;
- a->is_ip6 = mp->is_ipv6;
-
- /* ip addresses sent in network byte order */
- ip46_from_addr_buf (mp->is_ipv6, mp->dst_address, &a->dst);
- ip46_from_addr_buf (mp->is_ipv6, mp->src_address, &a->src);
-
- /* Check src & dst are different */
- if (ip46_address_cmp (&a->dst, &a->src) == 0)
- {
- rv = VNET_API_ERROR_SAME_SRC_DST;
- goto out;
- }
- a->mcast_sw_if_index = ntohl (mp->mcast_sw_if_index);
- if (ip46_address_is_multicast (&a->dst) &&
- pool_is_free_index (vnm->interface_main.sw_interfaces,
- a->mcast_sw_if_index))
- {
- rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
- goto out;
- }
- a->encap_fib_index = encap_fib_index;
- a->decap_next_index = ntohl (mp->decap_next_index);
- a->vni = ntohl (mp->vni);
- rv = vnet_vxlan_add_del_tunnel (a, &sw_if_index);
-
-out:
- /* *INDENT-OFF* */
- REPLY_MACRO2(VL_API_VXLAN_ADD_DEL_TUNNEL_REPLY,
- ({
- rmp->sw_if_index = ntohl (sw_if_index);
- }));
- /* *INDENT-ON* */
-}
-
static void send_vxlan_tunnel_details
(vxlan_tunnel_t * t, unix_shared_memory_queue_t * q, u32 context)
{
@@ -1525,43 +1465,6 @@ static void send_vxlan_tunnel_details
vl_msg_api_send_shmem (q, (u8 *) & rmp);
}
-static void vl_api_vxlan_tunnel_dump_t_handler
- (vl_api_vxlan_tunnel_dump_t * mp)
-{
- unix_shared_memory_queue_t *q;
- vxlan_main_t *vxm = &vxlan_main;
- vxlan_tunnel_t *t;
- u32 sw_if_index;
-
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
- sw_if_index = ntohl (mp->sw_if_index);
-
- if (~0 == sw_if_index)
- {
- /* *INDENT-OFF* */
- pool_foreach (t, vxm->tunnels,
- ({
- send_vxlan_tunnel_details(t, q, mp->context);
- }));
- /* *INDENT-ON* */
- }
- else
- {
- if ((sw_if_index >= vec_len (vxm->tunnel_index_by_sw_if_index)) ||
- (~0 == vxm->tunnel_index_by_sw_if_index[sw_if_index]))
- {
- return;
- }
- t = &vxm->tunnels[vxm->tunnel_index_by_sw_if_index[sw_if_index]];
- send_vxlan_tunnel_details (t, q, mp->context);
- }
-}
-
static void
vl_api_l2_patch_add_del_t_handler (vl_api_l2_patch_add_del_t * mp)
{
@@ -1585,83 +1488,6 @@ vl_api_l2_patch_add_del_t_handler (vl_api_l2_patch_add_del_t * mp)
REPLY_MACRO (VL_API_L2_PATCH_ADD_DEL_REPLY);
}
-static void
- vl_api_vxlan_gpe_add_del_tunnel_t_handler
- (vl_api_vxlan_gpe_add_del_tunnel_t * mp)
-{
- vl_api_vxlan_gpe_add_del_tunnel_reply_t *rmp;
- int rv = 0;
- vnet_vxlan_gpe_add_del_tunnel_args_t _a, *a = &_a;
- u32 encap_fib_index, decap_fib_index;
- u8 protocol;
- uword *p;
- ip4_main_t *im = &ip4_main;
- u32 sw_if_index = ~0;
-
-
- p = hash_get (im->fib_index_by_table_id, ntohl (mp->encap_vrf_id));
- if (!p)
- {
- rv = VNET_API_ERROR_NO_SUCH_FIB;
- goto out;
- }
- encap_fib_index = p[0];
-
- protocol = mp->protocol;
-
- /* Interpret decap_vrf_id as an opaque if sending to other-than-ip4-input */
- if (protocol == VXLAN_GPE_INPUT_NEXT_IP4_INPUT)
- {
- p = hash_get (im->fib_index_by_table_id, ntohl (mp->decap_vrf_id));
- if (!p)
- {
- rv = VNET_API_ERROR_NO_SUCH_INNER_FIB;
- goto out;
- }
- decap_fib_index = p[0];
- }
- else
- {
- decap_fib_index = ntohl (mp->decap_vrf_id);
- }
-
- /* Check src & dst are different */
- if ((mp->is_ipv6 && memcmp (mp->local, mp->remote, 16) == 0) ||
- (!mp->is_ipv6 && memcmp (mp->local, mp->remote, 4) == 0))
- {
- rv = VNET_API_ERROR_SAME_SRC_DST;
- goto out;
- }
- memset (a, 0, sizeof (*a));
-
- a->is_add = mp->is_add;
- a->is_ip6 = mp->is_ipv6;
- /* ip addresses sent in network byte order */
- if (a->is_ip6)
- {
- clib_memcpy (&(a->local.ip6), mp->local, 16);
- clib_memcpy (&(a->remote.ip6), mp->remote, 16);
- }
- else
- {
- clib_memcpy (&(a->local.ip4), mp->local, 4);
- clib_memcpy (&(a->remote.ip4), mp->remote, 4);
- }
- a->encap_fib_index = encap_fib_index;
- a->decap_fib_index = decap_fib_index;
- a->protocol = protocol;
- a->vni = ntohl (mp->vni);
- rv = vnet_vxlan_gpe_add_del_tunnel (a, &sw_if_index);
-
-out:
- /* *INDENT-OFF* */
- REPLY_MACRO2(VL_API_VXLAN_GPE_ADD_DEL_TUNNEL_REPLY,
- ({
- rmp->sw_if_index = ntohl (sw_if_index);
- }));
- /* *INDENT-ON* */
-}
-
static void send_vxlan_gpe_tunnel_details
(vxlan_gpe_tunnel_t * t, unix_shared_memory_queue_t * q, u32 context)
{
@@ -1696,43 +1522,6 @@ static void send_vxlan_gpe_tunnel_details
vl_msg_api_send_shmem (q, (u8 *) & rmp);
}
-static void vl_api_vxlan_gpe_tunnel_dump_t_handler
- (vl_api_vxlan_gpe_tunnel_dump_t * mp)
-{
- unix_shared_memory_queue_t *q;
- vxlan_gpe_main_t *vgm = &vxlan_gpe_main;
- vxlan_gpe_tunnel_t *t;
- u32 sw_if_index;
-
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
- sw_if_index = ntohl (mp->sw_if_index);
-
- if (~0 == sw_if_index)
- {
- /* *INDENT-OFF* */
- pool_foreach (t, vgm->tunnels,
- ({
- send_vxlan_gpe_tunnel_details(t, q, mp->context);
- }));
- /* *INDENT-ON* */
- }
- else
- {
- if ((sw_if_index >= vec_len (vgm->tunnel_index_by_sw_if_index)) ||
- (~0 == vgm->tunnel_index_by_sw_if_index[sw_if_index]))
- {
- return;
- }
- t = &vgm->tunnels[vgm->tunnel_index_by_sw_if_index[sw_if_index]];
- send_vxlan_gpe_tunnel_details (t, q, mp->context);
- }
-}
-
static void
vl_api_interface_name_renumber_t_handler (vl_api_interface_name_renumber_t *
mp)
diff --git a/src/vpp/api/api_main.c b/src/vpp/api/api_main.c
index 97b501e0..6ae510b1 100644
--- a/src/vpp/api/api_main.c
+++ b/src/vpp/api/api_main.c
@@ -48,7 +48,6 @@ api_main_init (vlib_main_t * vm)
vam->vlib_main = vm;
vam->my_client_index = (u32) ~ 0;
init_error_string_table (vam);
- vat_api_hookup (vam);
rv = vat_plugin_init (vam);
if (rv)
clib_warning ("vat_plugin_init returned %d", rv);
diff --git a/src/vpp/stats/stats.c b/src/vpp/stats/stats.c
index 5e9b0d69..c46d441a 100644
--- a/src/vpp/stats/stats.c
+++ b/src/vpp/stats/stats.c
@@ -46,7 +46,6 @@ stats_main_t stats_main;
#define foreach_stats_msg \
_(WANT_STATS, want_stats) \
-_(WANT_STATS_REPLY, want_stats_reply) \
_(VNET_INTERFACE_COUNTERS, vnet_interface_counters) \
_(VNET_IP4_FIB_COUNTERS, vnet_ip4_fib_counters) \
_(VNET_IP6_FIB_COUNTERS, vnet_ip6_fib_counters) \
@@ -1227,12 +1226,6 @@ vl_api_vnet_ip6_nbr_counters_t_handler (vl_api_vnet_ip6_nbr_counters_t * mp)
}
static void
-vl_api_want_stats_reply_t_handler (vl_api_want_stats_reply_t * mp)
-{
- clib_warning ("BUG");
-}
-
-static void
vl_api_want_stats_t_handler (vl_api_want_stats_t * mp)
{
stats_main_t *sm = &stats_main;