interface: dump the interface device type
[vpp.git] / src / vpp / api / test_client.c
index 551bdab..14f98cd 100644 (file)
@@ -78,7 +78,7 @@ typedef struct
   int oam_events_on;
 
   /* convenience */
-  unix_shared_memory_queue_t *vl_input_queue;
+  svm_queue_t *vl_input_queue;
   u32 my_client_index;
 } test_main_t;
 
@@ -93,7 +93,7 @@ vlib_main_t **vlib_mains;
 void
 vlib_cli_output (struct vlib_main_t *vm, char *fmt, ...)
 {
-  clib_warning ("vlib_cli_output callled...");
+  clib_warning ("vlib_cli_output called...");
 }
 
 u8 *
@@ -133,12 +133,30 @@ vl_api_sw_interface_details_t_handler (vl_api_sw_interface_details_t * mp)
     case VNET_HW_INTERFACE_FLAG_SPEED_1G:
       speed = "1Gbps";
       break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_2_5G:
+      speed = "2.5Gbps";
+      break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_5G:
+      speed = "5Gbps";
+      break;
     case VNET_HW_INTERFACE_FLAG_SPEED_10G:
       speed = "10Gbps";
       break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_20G:
+      speed = "20Gbps";
+      break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_25G:
+      speed = "25Gbps";
+      break;
     case VNET_HW_INTERFACE_FLAG_SPEED_40G:
       speed = "40Gbps";
       break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_50G:
+      speed = "50Gbps";
+      break;
+    case VNET_HW_INTERFACE_FLAG_SPEED_56G:
+      speed = "56Gbps";
+      break;
     case VNET_HW_INTERFACE_FLAG_SPEED_100G:
       speed = "100Gbps";
       break;
@@ -146,9 +164,10 @@ vl_api_sw_interface_details_t_handler (vl_api_sw_interface_details_t * mp)
       speed = "bogus";
       break;
     }
-  fformat (stdout, "details: %s sw_if_index %d sup_sw_if_index %d "
-          "link_duplex %s link_speed %s",
-          mp->interface_name, ntohl (mp->sw_if_index),
+  fformat (stdout,
+          "details: %s device_type %s sw_if_index %d sup_sw_if_index %d "
+          "link_duplex %s link_speed %s", mp->interface_name,
+          mp->interface_dev_type, ntohl (mp->sw_if_index),
           ntohl (mp->sup_sw_if_index), duplex, speed);
 
   if (mp->l2_address_length)
@@ -161,10 +180,8 @@ 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)
 {
-  fformat (stdout, "set flags: sw_if_index %d, admin %s link %s\n",
-          ntohl (mp->sw_if_index),
-          mp->admin_up_down ? "up" : "down",
-          mp->link_up_down ? "up" : "down");
+  fformat (stdout, "set flags: sw_if_index %d, admin %s\n",
+          ntohl (mp->sw_if_index), mp->admin_up_down ? "up" : "down");
 }
 
 static void
@@ -245,6 +262,7 @@ static void vl_api_ip_neighbor_add_del_reply_t_handler
   fformat (stdout, "ip neighbor add del reply %d\n", ntohl (mp->retval));
 }
 
+#if 0
 static void
 vl_api_vnet_interface_counters_t_handler (vl_api_vnet_interface_counters_t *
                                          mp)
@@ -332,6 +350,7 @@ vl_api_vnet_interface_counters_t_handler (vl_api_vnet_interface_counters_t *
        }
     }
 }
+#endif
 
 /* Format an IP4 address. */
 u8 *
@@ -541,13 +560,6 @@ static void vl_api_create_loopback_instance_reply_t_handler
           ntohl (mp->retval), ntohl (mp->sw_if_index));
 }
 
-static void
-vl_api_sr_tunnel_add_del_reply_t_handler (vl_api_sr_tunnel_add_del_reply_t *
-                                         mp)
-{
-  fformat (stdout, "sr tunnel add/del reply %d\n", ntohl (mp->retval));
-}
-
 static void vl_api_l2_patch_add_del_reply_t_handler
   (vl_api_l2_patch_add_del_reply_t * mp)
 {
@@ -585,7 +597,6 @@ _(WANT_STATS_REPLY, want_stats_reply)                                   \
 _(WANT_OAM_EVENTS_REPLY, want_oam_events_reply)                         \
 _(OAM_EVENT, oam_event)                                                 \
 _(OAM_ADD_DEL_REPLY, oam_add_del_reply)                                        \
-_(VNET_INTERFACE_COUNTERS, vnet_interface_counters)                     \
 _(VNET_IP4_FIB_COUNTERS, vnet_ip4_fib_counters)                         \
 _(VNET_IP6_FIB_COUNTERS, vnet_ip6_fib_counters)                         \
 _(IP_ADD_DEL_ROUTE_REPLY, ip_add_del_route_reply)                       \
@@ -646,7 +657,7 @@ link_up_down_enable_disable (test_main_t * tm, int enable)
 
   /* Request admin / link up down messages */
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_WANT_INTERFACE_EVENTS);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -662,7 +673,7 @@ stats_enable_disable (test_main_t * tm, int enable)
   vl_api_want_stats_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_WANT_STATS);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -678,7 +689,7 @@ oam_events_enable_disable (test_main_t * tm, int enable)
   vl_api_want_oam_events_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_WANT_OAM_EVENTS);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -695,7 +706,7 @@ oam_add_del (test_main_t * tm, int is_add)
   ip4_address_t tmp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_OAM_ADD_DEL);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -717,7 +728,7 @@ dump (test_main_t * tm)
   vl_api_sw_interface_dump_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_DUMP);
   mp->client_index = tm->my_client_index;
   mp->name_filter_valid = 1;
@@ -733,12 +744,11 @@ add_del_ip4_route (test_main_t * tm, int enable_disable)
   u32 tmp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_IP_ADD_DEL_ROUTE);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
   mp->table_id = ntohl (0);
-  mp->create_vrf_if_needed = 1;
 
   mp->next_hop_sw_if_index = ntohl (5);
   mp->is_add = enable_disable;
@@ -763,7 +773,7 @@ add_del_ip6_route (test_main_t * tm, int enable_disable)
   u64 tmp[2];
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_IP_ADD_DEL_ROUTE);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -795,7 +805,7 @@ add_del_interface_address (test_main_t * tm, int enable_disable)
   u32 tmp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -816,7 +826,7 @@ add_del_v6_interface_address (test_main_t * tm, int enable_disable)
   u64 tmp[2];
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -840,7 +850,7 @@ del_all_interface_addresses (test_main_t * tm)
   vl_api_sw_interface_add_del_address_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_ADD_DEL_ADDRESS);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -856,7 +866,7 @@ set_interface_table (test_main_t * tm, int is_ipv6, u32 vrf_id)
   vl_api_sw_interface_set_table_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_TABLE);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -873,7 +883,7 @@ connect_unix_tap (test_main_t * tm, char *name)
   vl_api_tap_connect_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_TAP_CONNECT);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -888,7 +898,7 @@ create_vlan_subif (test_main_t * tm, u32 vlan_id)
   vl_api_create_vlan_subif_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_CREATE_VLAN_SUBIF);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -905,19 +915,19 @@ add_del_proxy_arp (test_main_t * tm, int is_add)
   u32 tmp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_PROXY_ARP_ADD_DEL);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
-  mp->vrf_id = ntohl (11);
+  mp->proxy.vrf_id = ntohl (11);
   mp->is_add = is_add;
 
   /* proxy fib 11, 1.1.1.1 -> 1.1.1.10 */
   tmp = ntohl (0x01010101);
-  clib_memcpy (mp->low_address, &tmp, 4);
+  clib_memcpy (mp->proxy.low_address, &tmp, 4);
 
   tmp = ntohl (0x0101010a);
-  clib_memcpy (mp->hi_address, &tmp, 4);
+  clib_memcpy (mp->proxy.hi_address, &tmp, 4);
 
   vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
 }
@@ -928,7 +938,7 @@ proxy_arp_intfc_enable_disable (test_main_t * tm, int enable_disable)
   vl_api_proxy_arp_intfc_enable_disable_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_PROXY_ARP_INTFC_ENABLE_DISABLE);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -945,15 +955,14 @@ add_ip4_neighbor (test_main_t * tm, int add_del)
   u32 tmp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_IP_NEIGHBOR_ADD_DEL);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
-  mp->vrf_id = ntohl (11);
   mp->sw_if_index = ntohl (6);
   mp->is_add = add_del;
 
-  memset (mp->mac_address, 0xbe, sizeof (mp->mac_address));
+  clib_memset (mp->mac_address, 0xbe, sizeof (mp->mac_address));
 
   tmp = ntohl (0x0101010a);
   clib_memcpy (mp->dst_address, &tmp, 4);
@@ -968,16 +977,15 @@ add_ip6_neighbor (test_main_t * tm, int add_del)
   u64 tmp[2];
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_IP_NEIGHBOR_ADD_DEL);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
-  mp->vrf_id = ntohl (11);
   mp->sw_if_index = ntohl (6);
   mp->is_add = add_del;
   mp->is_ipv6 = 1;
 
-  memset (mp->mac_address, 0xbe, sizeof (mp->mac_address));
+  clib_memset (mp->mac_address, 0xbe, sizeof (mp->mac_address));
 
   tmp[0] = clib_host_to_net_u64 (0xdb01000000000000ULL);
   tmp[1] = clib_host_to_net_u64 (0x11ULL);
@@ -994,7 +1002,7 @@ reset_fib (test_main_t * tm, u8 is_ip6)
   vl_api_reset_fib_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_RESET_FIB);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -1010,12 +1018,12 @@ dhcpv6_set_vss (test_main_t * tm)
   vl_api_dhcp_proxy_set_vss_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_SET_VSS);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
   mp->oui = ntohl (6);
-  mp->fib_id = ntohl (60);
+  mp->tbl_id = ntohl (60);
   mp->is_add = 1;
   mp->is_ipv6 = 1;
   vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
@@ -1027,12 +1035,12 @@ dhcpv4_set_vss (test_main_t * tm)
   vl_api_dhcp_proxy_set_vss_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_SET_VSS);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
   mp->oui = ntohl (4);
-  mp->fib_id = ntohl (40);
+  mp->tbl_id = ntohl (40);
   mp->is_add = 1;
   mp->is_ipv6 = 0;
   vl_msg_api_send_shmem (tm->vl_input_queue, (u8 *) & mp);
@@ -1051,13 +1059,11 @@ dhcp_set_proxy (test_main_t * tm, int ipv6)
   vl_api_dhcp_proxy_config_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_DHCP_PROXY_CONFIG);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
-  mp->vrf_id = ntohl (0);
   mp->is_ipv6 = ipv6;
-  mp->insert_circuit_id = 1;
   mp->is_add = 1;
   mp->dhcp_server[0] = 0x20;
   mp->dhcp_server[1] = 0x01;
@@ -1090,7 +1096,7 @@ set_ip_flow_hash (test_main_t * tm, u8 is_ip6)
   vl_api_set_ip_flow_hash_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_SET_IP_FLOW_HASH);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -1108,7 +1114,7 @@ ip6nd_ra_config (test_main_t * tm, int is_no)
   vl_api_sw_interface_ip6nd_ra_config_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
 
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -1129,7 +1135,7 @@ ip6nd_ra_prefix (test_main_t * tm, int is_no)
   u64 tmp[2];
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
 
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -1159,7 +1165,7 @@ ip6_enable_disable (test_main_t * tm, int enable)
   vl_api_sw_interface_ip6_enable_disable_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
 
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -1176,7 +1182,7 @@ loop_create (test_main_t * tm)
   vl_api_create_loopback_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
 
   mp->_vl_msg_id = ntohs (VL_API_CREATE_LOOPBACK);
   mp->client_index = tm->my_client_index;
@@ -1191,7 +1197,7 @@ ip6_set_link_local_address (test_main_t * tm)
   u64 tmp[2];
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
 
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -1215,7 +1221,7 @@ set_flags (test_main_t * tm, int up_down)
   vl_api_sw_interface_set_flags_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
 
   mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_FLAGS);
   mp->client_index = tm->my_client_index;
@@ -1232,7 +1238,7 @@ l2_patch_add_del (test_main_t * tm, int is_add)
   vl_api_l2_patch_add_del_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_L2_PATCH_ADD_DEL);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -1249,7 +1255,7 @@ l2_xconnect (test_main_t * tm)
   vl_api_sw_interface_set_l2_xconnect_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_L2_XCONNECT);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;
@@ -1266,7 +1272,7 @@ l2_bridge (test_main_t * tm)
   vl_api_sw_interface_set_l2_bridge_t *mp;
 
   mp = vl_msg_api_alloc (sizeof (*mp));
-  memset (mp, 0, sizeof (*mp));
+  clib_memset (mp, 0, sizeof (*mp));
   mp->_vl_msg_id = ntohs (VL_API_SW_INTERFACE_SET_L2_BRIDGE);
   mp->client_index = tm->my_client_index;
   mp->context = 0xdeadbeef;