Fix pid field endian in ARP/ND/DHCP event related API messages
[vpp.git] / src / vpp / api / api.c
index d8301fa..f169d7f 100644 (file)
@@ -158,7 +158,7 @@ typedef enum
 } resolve_t;
 
 static vlib_node_registration_t vpe_resolver_process_node;
-vpe_api_main_t vpe_api_main;
+extern vpe_api_main_t vpe_api_main;
 
 static int arp_change_delete_callback (u32 pool_index, u8 * notused);
 static int nd_change_delete_callback (u32 pool_index, u8 * notused);
@@ -849,7 +849,7 @@ vl_api_vnet_get_summary_stats_t_handler (vl_api_vnet_get_summary_stats_t * mp)
   {
     which = cm - im->combined_sw_if_counters;
 
-    for (i = 0; i < vec_len (cm->maxi); i++)
+    for (i = 0; i < vlib_combined_counter_n_counters (cm); i++)
       {
        vlib_get_combined_counter (cm, i, &v);
        total_pkts[which] += v.packets;
@@ -2268,7 +2268,7 @@ format_arp_event (u8 * s, va_list * args)
 {
   vl_api_ip4_arp_event_t *event = va_arg (*args, vl_api_ip4_arp_event_t *);
 
-  s = format (s, "pid %d: ", event->pid);
+  s = format (s, "pid %d: ", ntohl (event->pid));
   if (event->mac_ip)
     s = format (s, "bd mac/ip4 binding events");
   else
@@ -2281,7 +2281,7 @@ format_nd_event (u8 * s, va_list * args)
 {
   vl_api_ip6_nd_event_t *event = va_arg (*args, vl_api_ip6_nd_event_t *);
 
-  s = format (s, "pid %d: ", event->pid);
+  s = format (s, "pid %d: ", ntohl (event->pid));
   if (event->mac_ip)
     s = format (s, "bd mac/ip6 binding events");
   else