X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fvat%2Fapi_format.c;h=db22f29148f3466bb84a5d3d9e9fa5f2c74acdf8;hp=fc4c38b52c893522d44f21552833f8c85434a2e1;hb=e26c81f;hpb=f49ba0e81e0cb9b9f8075cb4ce051b5bacde8ad3 diff --git a/src/vat/api_format.c b/src/vat/api_format.c index fc4c38b52c8..db22f29148f 100644 --- a/src/vat/api_format.c +++ b/src/vat/api_format.c @@ -82,14 +82,6 @@ #if VPP_API_TEST_BUILTIN == 0 #include -/* *INDENT-OFF* */ -const mac_address_t ZERO_MAC_ADDRESS = { - .bytes = { - 0, 0, 0, 0, 0, 0, - }, -}; -/* *INDENT-ON* */ - u32 vl (void *p) { @@ -99,9 +91,15 @@ vl (void *p) int vat_socket_connect (vat_main_t * vam) { + int rv; vam->socket_client_main = &socket_client_main; - return vl_socket_client_connect ((char *) vam->socket_name, "vpp_api_test", - 0 /* default socket rx, tx buffer */ ); + if ((rv = vl_socket_client_connect ((char *) vam->socket_name, + "vpp_api_test", + 0 /* default socket rx, tx buffer */ ))) + return rv; + /* vpp expects the client index in network order */ + vam->my_client_index = htonl (socket_client_main.client_index); + return 0; } #else /* vpp built-in case, we don't do sockets... */ int @@ -5261,6 +5259,7 @@ _(ikev2_initiate_del_child_sa_reply) \ _(ikev2_initiate_rekey_child_sa_reply) \ _(delete_loopback_reply) \ _(bd_ip_mac_add_del_reply) \ +_(bd_ip_mac_flush_reply) \ _(want_interface_events_reply) \ _(cop_interface_enable_disable_reply) \ _(cop_whitelist_enable_disable_reply) \ @@ -5517,6 +5516,7 @@ _(IKEV2_INITIATE_DEL_CHILD_SA_REPLY, ikev2_initiate_del_child_sa_reply) \ _(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) \ +_(BD_IP_MAC_FLUSH_REPLY, bd_ip_mac_flush_reply) \ _(BD_IP_MAC_DETAILS, bd_ip_mac_details) \ _(DHCP_COMPL_EVENT, dhcp_compl_event) \ _(WANT_INTERFACE_EVENTS_REPLY, want_interface_events_reply) \ @@ -7323,7 +7323,7 @@ static int api_bd_ip_mac_add_del (vat_main_t * vam) { vl_api_address_t ip = VL_API_ZERO_ADDRESS; - vl_api_mac_address_t mac = VL_API_ZERO_MAC_ADDRESS; + vl_api_mac_address_t mac = { 0 }; unformat_input_t *i = vam->input; vl_api_bd_ip_mac_add_del_t *mp; ip46_type_t type; @@ -7387,6 +7387,40 @@ api_bd_ip_mac_add_del (vat_main_t * vam) return ret; } +static int +api_bd_ip_mac_flush (vat_main_t * vam) +{ + unformat_input_t *i = vam->input; + vl_api_bd_ip_mac_flush_t *mp; + u32 bd_id; + u8 bd_id_set = 0; + int ret; + + while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT) + { + if (unformat (i, "bd_id %d", &bd_id)) + { + bd_id_set++; + } + else + break; + } + + if (bd_id_set == 0) + { + errmsg ("missing bridge domain"); + return -99; + } + + M (BD_IP_MAC_FLUSH, mp); + + mp->bd_id = ntohl (bd_id); + + S (mp); + W (ret); + return ret; +} + static void vl_api_bd_ip_mac_details_t_handler (vl_api_bd_ip_mac_details_t * mp) { @@ -23354,7 +23388,8 @@ _(ikev2_initiate_del_child_sa, "") \ _(ikev2_initiate_rekey_child_sa, "") \ _(delete_loopback,"sw_if_index ") \ _(bd_ip_mac_add_del, "bd_id [del]") \ -_(bd_ip_mac_dump, "[bd_id] ") \ +_(bd_ip_mac_flush, "bd_id ") \ +_(bd_ip_mac_dump, "[bd_id] ") \ _(want_interface_events, "enable|disable") \ _(get_first_msg_id, "client ") \ _(cop_interface_enable_disable, " | sw_if_index [disable]") \