X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vpp%2Fapi%2Fcustom_dump.c;h=123883fb6c82545a56e097e0bb32449a475f5cb9;hb=20c90f765dd0350892421e1dea544752108f4ce9;hp=85740eeeaab31f6d28a1c9ab00133aa4dbd45ea2;hpb=60231f35fa860228f31f40753d94e129e8432988;p=vpp.git diff --git a/vpp/api/custom_dump.c b/vpp/api/custom_dump.c index 85740eeeaab..123883fb6c8 100644 --- a/vpp/api/custom_dump.c +++ b/vpp/api/custom_dump.c @@ -26,8 +26,7 @@ #include #include #include -#include -#include +#include #include #include #include @@ -1014,6 +1013,9 @@ static void *vl_api_sr_tunnel_add_del_t_print s = format (0, "SCRIPT: sr_tunnel_add_del "); + if (mp->name[0]) + s = format (s, "name %s ", mp->name); + s = format (s, "src %U dst %U/%d ", format_ip6_address, (ip6_address_t *) mp->src_address, format_ip6_address, @@ -1062,12 +1064,78 @@ static void *vl_api_sr_tunnel_add_del_t_print } } + if (mp->policy_name[0]) + s = format (s, "policy_name %s ", mp->policy_name); + if (mp->is_add == 0) s = format (s, "del "); FINISH; } +static void *vl_api_sr_policy_add_del_t_print +(vl_api_sr_policy_add_del_t * mp, void *handle) +{ + u8 * s; + int i; + + s = format (0, "SCRIPT: sr_policy_add_del "); + + if (mp->name[0]) + s = format (s, "name %s ", mp->name); + + + if (mp->tunnel_names[0]) + { + // start deserializing tunnel_names + int num_tunnels = mp->tunnel_names[0]; //number of tunnels + u8 * deser_tun_names = mp->tunnel_names; + deser_tun_names += 1; //moving along + + u8 * tun_name = 0; + int tun_name_len = 0; + + for (i=0; i < num_tunnels; i++) + { + tun_name_len= *deser_tun_names; + deser_tun_names += 1; + vec_resize (tun_name, tun_name_len); + memcpy(tun_name, deser_tun_names, tun_name_len); + s = format (s, "tunnel %s ", tun_name); + deser_tun_names += tun_name_len; + tun_name = 0; + } + } + + if (mp->is_add == 0) + s = format (s, "del "); + + FINISH; +} + +static void *vl_api_sr_multicast_map_add_del_t_print +(vl_api_sr_multicast_map_add_del_t * mp, void *handle) +{ + + u8 * s = 0; + /* int i; */ + + s = format (0, "SCRIPT: sr_multicast_map_add_del "); + + if (mp->multicast_address[0]) + s = format (s, "address %U ", format_ip6_address, &mp->multicast_address); + + if (mp->policy_name[0]) + s = format (s, "sr-policy %s ", &mp->policy_name); + + + if (mp->is_add == 0) + s = format (s, "del "); + + FINISH; +} + + static void *vl_api_classify_add_del_table_t_print (vl_api_classify_add_del_table_t * mp, void *handle) { @@ -1266,11 +1334,13 @@ static void * vl_api_vxlan_add_del_tunnel_t_print s = format (0, "SCRIPT: vxlan_add_del_tunnel "); - s = format (s, "dst %U ", format_ip4_address, - (ip4_address_t *)&(mp->dst_address)); + s = format (s, "dst %U ", format_ip46_address, + (ip46_address_t *)&(mp->dst_address), + mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4); - s = format (s, "src %U ", format_ip4_address, - (ip4_address_t *)&(mp->src_address)); + s = format (s, "src %U ", format_ip46_address, + (ip46_address_t *)&(mp->src_address), + mp->is_ipv6 ? IP46_TYPE_IP6 : IP46_TYPE_IP4); if (mp->encap_vrf_id) s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id)); @@ -1297,6 +1367,40 @@ static void * vl_api_vxlan_tunnel_dump_t_print FINISH; } +static void * vl_api_gre_add_del_tunnel_t_print +(vl_api_gre_add_del_tunnel_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: gre_add_del_tunnel "); + + s = format (s, "dst %U ", format_ip4_address, + (ip4_address_t *)&(mp->dst_address)); + + s = format (s, "src %U ", format_ip4_address, + (ip4_address_t *)&(mp->src_address)); + + if (mp->outer_table_id) + s = format (s, "outer-fib-id %d ", ntohl(mp->outer_table_id)); + + if (mp->is_add == 0) + s = format (s, "del "); + + FINISH; +} + +static void * vl_api_gre_tunnel_dump_t_print +(vl_api_gre_tunnel_dump_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: gre_tunnel_dump "); + + s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index)); + + FINISH; +} + static void *vl_api_l2_fib_clear_table_t_print (vl_api_l2_fib_clear_table_t * mp, void *handle) { @@ -1471,77 +1575,18 @@ static void *vl_api_show_version_t_print FINISH; } -static void *vl_api_nsh_gre_add_del_tunnel_t_print -(vl_api_nsh_gre_add_del_tunnel_t * mp, void *handle) +static void *vl_api_vxlan_gpe_add_del_tunnel_t_print +(vl_api_vxlan_gpe_add_del_tunnel_t * mp, void *handle) { u8 * s; - int i; - u32 spi_si; - - s = format (0, "SCRIPT: nsh_gre_add_del_tunnel "); - - s = format (s, "src %U dst %U ", format_ip4_address, &mp->src, - format_ip4_address, &mp->dst); - - spi_si = ntohl(mp->spi_si); - - s = format (s, "spi %d si %d ", (spi_si>>8), (spi_si & 0xff)); - - s = format (s, "decap-next %d ", ntohl(mp->decap_next_index)); - - if (mp->is_add == 0) - s = format (s, "del "); - - if (mp->encap_vrf_id) - s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id)); - - if (mp->decap_vrf_id) - s = format (s, "decap-vrf-id %d ", ntohl(mp->decap_vrf_id)); - - if (mp->ver_o_c & 0xc) - s = format (s, "version %d ", mp->ver_o_c>>6); - if (mp->ver_o_c & NSH_GRE_O_BIT) - s = format (s, "o-bit 1 "); - if (mp->ver_o_c & NSH_GRE_C_BIT) - s = format (s, "c-bit 1 "); - if (mp->md_type) - s = format (s, "md-type %d ", mp->md_type); - if (mp->next_protocol == 1) - s = format (s, "next-ip4 "); - else if (mp->next_protocol == 2) - s = format (s, "next-ip6 "); - else if (mp->next_protocol == 3) - s = format (s, "next-ethernet"); - - s = format (s, "c1 %d ", ntohl(mp->c1)); - s = format (s, "c2 %d ", ntohl(mp->c2)); - s = format (s, "c3 %d ", ntohl(mp->c3)); - s = format (s, "c4 %d ", ntohl(mp->c4)); - - for (i = 0; i < mp->tlv_len_in_words; i++) { - s = format (s, "tlv %x ", ntohl(mp->tlvs[i])); - } - - FINISH; -} - -static void *vl_api_nsh_vxlan_gpe_add_del_tunnel_t_print -(vl_api_nsh_vxlan_gpe_add_del_tunnel_t * mp, void *handle) -{ - u8 * s; - int i; - u32 spi_si; - s = format (0, "SCRIPT: nsh_vxlan_gpe_add_del_tunnel "); + s = format (0, "SCRIPT: vxlan_gpe_add_del_tunnel "); - s = format (s, "src %U dst %U ", format_ip4_address, &mp->src, - format_ip4_address, &mp->dst); + s = format (s, "local %U ", format_ip46_address, &mp->local, mp->is_ipv6); - spi_si = ntohl(mp->spi_si); + s = format (s, "remote %U ", format_ip46_address, &mp->remote, mp->is_ipv6); - s = format (s, "spi %d si %d ", (spi_si>>8), (spi_si & 0xff)); - - s = format (s, "decap-next %d ", ntohl(mp->decap_next_index)); + s = format (s, "protocol %d ", ntohl(mp->protocol)); s = format (s, "vni %d ", ntohl(mp->vni)); @@ -1554,73 +1599,18 @@ static void *vl_api_nsh_vxlan_gpe_add_del_tunnel_t_print if (mp->decap_vrf_id) s = format (s, "decap-vrf-id %d ", ntohl(mp->decap_vrf_id)); - if (mp->ver_o_c & 0xc) - s = format (s, "version %d ", mp->ver_o_c>>6); - if (mp->ver_o_c & NSH_GRE_O_BIT) - s = format (s, "o-bit 1 "); - if (mp->ver_o_c & NSH_GRE_C_BIT) - s = format (s, "c-bit 1 "); - if (mp->md_type) - s = format (s, "md-type %d ", mp->md_type); - if (mp->next_protocol == 1) - s = format (s, "next-ip4 "); - else if (mp->next_protocol == 2) - s = format (s, "next-ip6 "); - else if (mp->next_protocol == 3) - s = format (s, "next-ethernet"); - - s = format (s, "c1 %d ", ntohl(mp->c1)); - s = format (s, "c2 %d ", ntohl(mp->c2)); - s = format (s, "c3 %d ", ntohl(mp->c3)); - s = format (s, "c4 %d ", ntohl(mp->c4)); - - for (i = 0; i < mp->tlv_len_in_words; i++) { - s = format (s, "tlv %x ", ntohl(mp->tlvs[i])); - } - FINISH; } -static void *vl_api_lisp_gpe_add_del_tunnel_t_print -(vl_api_lisp_gpe_add_del_tunnel_t * mp, void *handle) +static void * vl_api_vxlan_gpe_tunnel_dump_t_print +(vl_api_vxlan_gpe_tunnel_dump_t * mp, void *handle) { u8 * s; - s = format (0, "SCRIPT: lisp_gpe_add_del_tunnel "); - - s = format (s, "src %U dst %U ", format_ip4_address, &mp->src, - format_ip4_address, &mp->dst); + s = format (0, "SCRIPT: vxlan_gpe_tunnel_dump "); - if (mp->encap_vrf_id) - s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id)); - - if (mp->decap_vrf_id) - s = format (s, "decap-vrf-id %d ", ntohl(mp->decap_vrf_id)); - - s = format (s, "decap-next %d ", ntohl(mp->decap_next_index)); - - s = format (s, "flags %x ", (u32)(mp->flags)); - - if (mp->ver_res) - s = format (s, "ver_res %x ", (u32)(mp->ver_res)); - - if (mp->res) - s = format (s, "res %x ", (u32)(mp->res)); - - s = format (s, "iid %d ", ntohl (mp->iid)); - - if (mp->is_add == 0) - s = format (s, "del "); + s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index)); - if (mp->next_protocol == 1) - s = format (s, "next-ip4 "); - else if (mp->next_protocol == 2) - s = format (s, "next-ip6 "); - else if (mp->next_protocol == 3) - s = format (s, "next-ethernet "); - else if (mp->next_protocol == 4) - s = format (s, "next-nsh "); - FINISH; } @@ -1694,6 +1684,167 @@ static void * vl_api_ip_dump_t_print FINISH; } +static void * vl_api_cop_interface_enable_disable_t_print +(vl_api_cop_interface_enable_disable_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: cop_interface_enable_disable "); + s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index)); + if (mp->enable_disable) + s = format (s, "enable "); + else + s = format (s, "disable "); + + FINISH; +} + +static void * vl_api_cop_whitelist_enable_disable_t_print +(vl_api_cop_whitelist_enable_disable_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: cop_whitelist_enable_disable "); + s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index)); + s = format (s, "fib-id %d ", ntohl(mp->fib_id)); + if (mp->ip4) + s = format (s, "ip4 "); + if (mp->ip6) + s = format (s, "ip6 "); + if (mp->default_cop) + s = format (s, "default "); + + FINISH; +} + +static void * vl_api_af_packet_create_t_print +(vl_api_af_packet_create_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: af_packet_create "); + s = format (s, "host_if_name %s ", mp->host_if_name); + if ( mp->use_random_hw_addr) + s = format (s, "hw_addr random "); + else + s = format (s, "hw_addr %U ", format_ethernet_address, mp->hw_addr); + + FINISH; +} + +static void * vl_api_af_packet_delete_t_print +(vl_api_af_packet_delete_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: af_packet_delete "); + s = format (s, "host_if_name %s ", mp->host_if_name); + + FINISH; +} + +static void *vl_api_sw_interface_clear_stats_t_print +(vl_api_sw_interface_clear_stats_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: sw_interface_clear_stats "); + if (mp->sw_if_index != ~0) + s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index)); + + FINISH; +} + +static void *vl_api_mpls_gre_tunnel_dump_t_print +(vl_api_mpls_gre_tunnel_dump_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: mpls_gre_tunnel_dump "); + + s = format (s, "tunnel_index %d ", ntohl(mp->tunnel_index)); + + FINISH; +} + +static void *vl_api_mpls_eth_tunnel_dump_t_print +(vl_api_mpls_eth_tunnel_dump_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: mpls_eth_tunnel_dump "); + + s = format (s, "tunnel_index %d ", ntohl(mp->tunnel_index)); + + FINISH; +} + +static void *vl_api_mpls_fib_encap_dump_t_print +(vl_api_mpls_fib_encap_dump_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: mpls_fib_encap_dump "); + + FINISH; +} + +static void *vl_api_mpls_fib_decap_dump_t_print +(vl_api_mpls_fib_decap_dump_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: mpls_fib_decap_dump "); + + FINISH; +} + +static void *vl_api_classify_table_ids_t_print +(vl_api_classify_table_ids_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: classify_table_ids "); + + FINISH; +} + +static void *vl_api_classify_table_by_interface_t_print +(vl_api_classify_table_by_interface_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: classify_table_by_interface "); + if (mp->sw_if_index != ~0) + s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index)); + + FINISH; +} + +static void *vl_api_classify_table_info_t_print +(vl_api_classify_table_info_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: classify_table_info "); + if (mp->table_id != ~0) + s = format (s, "table_id %d ", ntohl(mp->table_id)); + + FINISH; +} + +static void *vl_api_classify_session_dump_t_print +(vl_api_classify_session_dump_t * mp, void *handle) +{ + u8 * s; + + s = format (0, "SCRIPT: classify_session_dump "); + if (mp->table_id != ~0) + s = format (s, "table_id %d ", ntohl(mp->table_id)); + + FINISH; +} + #define foreach_custom_print_function \ _(CREATE_LOOPBACK, create_loopback) \ _(SW_INTERFACE_SET_FLAGS, sw_interface_set_flags) \ @@ -1729,6 +1880,8 @@ _(SW_INTERFACE_IP6ND_RA_CONFIG, sw_interface_ip6nd_ra_config) \ _(SET_ARP_NEIGHBOR_LIMIT, set_arp_neighbor_limit) \ _(L2_PATCH_ADD_DEL, l2_patch_add_del) \ _(SR_TUNNEL_ADD_DEL, sr_tunnel_add_del) \ +_(SR_POLICY_ADD_DEL, sr_policy_add_del) \ +_(SR_MULTICAST_MAP_ADD_DEL, sr_multicast_map_add_del) \ _(SW_INTERFACE_SET_L2_XCONNECT, sw_interface_set_l2_xconnect) \ _(L2FIB_ADD_DEL, l2fib_add_del) \ _(L2_FLAGS, l2_flags) \ @@ -1737,7 +1890,7 @@ _(CLASSIFY_ADD_DEL_TABLE, classify_add_del_table) \ _(CLASSIFY_ADD_DEL_SESSION, classify_add_del_session) \ _(SW_INTERFACE_SET_L2_BRIDGE, sw_interface_set_l2_bridge) \ _(BRIDGE_DOMAIN_ADD_DEL, bridge_domain_add_del) \ -_(BRIDGE_DOMAIN_DUMP, bridge_domain_dump) \ +_(BRIDGE_DOMAIN_DUMP, bridge_domain_dump) \ _(CLASSIFY_SET_INTERFACE_IP_TABLE, classify_set_interface_ip_table) \ _(CLASSIFY_SET_INTERFACE_L2_TABLES, classify_set_interface_l2_tables) \ _(ADD_NODE_NEXT, add_node_next) \ @@ -1750,6 +1903,8 @@ _(L2TPV3_SET_LOOKUP_KEY, l2tpv3_set_lookup_key) \ _(SW_IF_L2TPV3_TUNNEL_DUMP, sw_if_l2tpv3_tunnel_dump) \ _(VXLAN_ADD_DEL_TUNNEL, vxlan_add_del_tunnel) \ _(VXLAN_TUNNEL_DUMP, vxlan_tunnel_dump) \ +_(GRE_ADD_DEL_TUNNEL, gre_add_del_tunnel) \ +_(GRE_TUNNEL_DUMP, gre_tunnel_dump) \ _(L2_FIB_CLEAR_TABLE, l2_fib_clear_table) \ _(L2_INTERFACE_EFP_FILTER, l2_interface_efp_filter) \ _(L2_INTERFACE_VLAN_TAG_REWRITE, l2_interface_vlan_tag_rewrite) \ @@ -1763,17 +1918,29 @@ _(CLI_REQUEST, cli_request) \ _(MEMCLNT_CREATE, memclnt_create) \ _(SW_INTERFACE_VHOST_USER_DUMP, sw_interface_vhost_user_dump) \ _(SHOW_VERSION, show_version) \ -_(NSH_GRE_ADD_DEL_TUNNEL, nsh_gre_add_del_tunnel) \ _(L2_FIB_TABLE_DUMP, l2_fib_table_dump) \ -_(NSH_VXLAN_GPE_ADD_DEL_TUNNEL, nsh_vxlan_gpe_add_del_tunnel) \ -_(LISP_GPE_ADD_DEL_TUNNEL, lisp_gpe_add_del_tunnel) \ +_(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) \ _(INPUT_ACL_SET_INTERFACE, input_acl_set_interface) \ _(IP_ADDRESS_DUMP, ip_address_dump) \ _(IP_DUMP, ip_dump) \ _(DELETE_LOOPBACK, delete_loopback) \ -_(BD_IP_MAC_ADD_DEL, bd_ip_mac_add_del) +_(BD_IP_MAC_ADD_DEL, bd_ip_mac_add_del) \ +_(COP_INTERFACE_ENABLE_DISABLE, cop_interface_enable_disable) \ +_(COP_WHITELIST_ENABLE_DISABLE, cop_whitelist_enable_disable) \ +_(AF_PACKET_CREATE, af_packet_create) \ +_(AF_PACKET_DELETE, af_packet_delete) \ +_(SW_INTERFACE_CLEAR_STATS, sw_interface_clear_stats) \ +_(MPLS_GRE_TUNNEL_DUMP, mpls_gre_tunnel_dump) \ +_(MPLS_ETH_TUNNEL_DUMP, mpls_eth_tunnel_dump) \ +_(MPLS_FIB_ENCAP_DUMP, mpls_fib_encap_dump) \ +_(MPLS_FIB_DECAP_DUMP, mpls_fib_decap_dump) \ +_(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) void vl_msg_api_custom_dump_configure (api_main_t *am) {