X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvat%2Fapi_format.c;h=eee5c743959271d491997a63af7e70013c158f86;hb=85dbac081d3168064131727553370d2b9983ddd6;hp=c972c192db3df42e987a6dbe082e5d613c9a9956;hpb=c97a7398fc465c480a3ac66cf4b0f91a034ed564;p=vpp.git diff --git a/src/vat/api_format.c b/src/vat/api_format.c index c972c192db3..eee5c743959 100644 --- a/src/vat/api_format.c +++ b/src/vat/api_format.c @@ -5305,7 +5305,8 @@ _(tcp_configure_src_addresses_reply) \ _(app_namespace_add_del_reply) \ _(dns_enable_disable_reply) \ _(dns_name_server_add_del_reply) \ -_(session_rule_add_del_reply) +_(session_rule_add_del_reply) \ +_(ip_container_proxy_add_del_reply) #define _(n) \ static void vl_api_##n##_t_handler \ @@ -5627,7 +5628,8 @@ _(DNS_NAME_SERVER_ADD_DEL_REPLY, dns_name_server_add_del_reply) \ _(DNS_RESOLVE_NAME_REPLY, dns_resolve_name_reply) \ _(DNS_RESOLVE_IP_REPLY, dns_resolve_ip_reply) \ _(SESSION_RULE_ADD_DEL_REPLY, session_rule_add_del_reply) \ -_(SESSION_RULES_DETAILS, session_rules_details) +_(SESSION_RULES_DETAILS, session_rules_details) \ +_(IP_CONTAINER_PROXY_ADD_DEL_REPLY, ip_container_proxy_add_del_reply) \ #define foreach_standalone_reply_msg \ _(SW_INTERFACE_EVENT, sw_interface_event) \ @@ -21562,19 +21564,21 @@ vl_api_session_rules_details_t_handler (vl_api_session_rules_details_t * mp) { print (vam->ofp, "appns %u tp %u scope %d %U/%d %d %U/%d %d action: %d tag: %s", - mp->appns_index, mp->transport_proto, mp->scope, - format_ip4_address, &mp->lcl_ip, mp->lcl_plen, mp->lcl_port, - format_ip4_address, &mp->rmt_ip, mp->rmt_plen, mp->rmt_port, - mp->action_index, mp->tag); + clib_net_to_host_u32 (mp->appns_index), mp->transport_proto, + mp->scope, format_ip4_address, &mp->lcl_ip, mp->lcl_plen, + clib_net_to_host_u16 (mp->lcl_port), format_ip4_address, + &mp->rmt_ip, mp->rmt_plen, clib_net_to_host_u16 (mp->rmt_port), + clib_net_to_host_u32 (mp->action_index), mp->tag); } else { print (vam->ofp, "appns %u tp %u scope %d %U/%d %d %U/%d %d action: %d tag: %s", - mp->appns_index, mp->transport_proto, mp->scope, - format_ip6_address, &mp->lcl_ip, mp->lcl_plen, mp->lcl_port, - format_ip6_address, &mp->rmt_ip, mp->rmt_plen, mp->rmt_port, - mp->action_index, mp->tag); + clib_net_to_host_u32 (mp->appns_index), mp->transport_proto, + mp->scope, format_ip6_address, &mp->lcl_ip, mp->lcl_plen, + clib_net_to_host_u16 (mp->lcl_port), format_ip6_address, + &mp->rmt_ip, mp->rmt_plen, clib_net_to_host_u16 (mp->rmt_port), + clib_net_to_host_u32 (mp->action_index), mp->tag); } } @@ -21747,6 +21751,61 @@ api_session_rules_dump (vat_main_t * vam) return ret; } +static int +api_ip_container_proxy_add_del (vat_main_t * vam) +{ + vl_api_ip_container_proxy_add_del_t *mp; + unformat_input_t *i = vam->input; + u32 plen = ~0, sw_if_index = ~0; + ip4_address_t ip4; + ip6_address_t ip6; + u8 is_ip4 = 1; + u8 is_add = 1; + int ret; + + while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT) + { + if (unformat (i, "del")) + is_add = 0; + else if (unformat (i, "add")) + ; + if (unformat (i, "%U", unformat_ip4_address, &ip4)) + { + is_ip4 = 1; + plen = 32; + } + else if (unformat (i, "%U", unformat_ip6_address, &ip6)) + { + is_ip4 = 0; + plen = 128; + } + else if (unformat (i, "sw_if_index %u", &sw_if_index)) + ; + else + break; + } + if (sw_if_index == ~0 || plen == ~0) + { + errmsg ("address and sw_if_index must be set"); + return -99; + } + + M (IP_CONTAINER_PROXY_ADD_DEL, mp); + + mp->is_ip4 = is_ip4; + mp->sw_if_index = clib_host_to_net_u32 (sw_if_index); + mp->plen = plen; + mp->is_add = is_add; + if (is_ip4) + clib_memcpy (mp->ip, &ip4, sizeof (ip4)); + else + clib_memcpy (mp->ip, &ip6, sizeof (ip6)); + + S (mp); + W (ret); + return ret; +} + static int q_or_quit (vat_main_t * vam) { @@ -22558,6 +22617,7 @@ _(dns_resolve_name, "") \ _(session_rule_add_del, "[add|del] proto / " \ " / action ") \ _(session_rules_dump, "") \ +_(ip_container_proxy_add_del, "[add|del]
") \ /* List of command functions, CLI names map directly to functions */ #define foreach_cli_function \