mactime: add a "top" command to watch device stats
[vpp.git] / src / vnet / dhcp / dhcp6_ia_na_client_dp.c
index 6064122..f49017b 100644 (file)
@@ -25,6 +25,7 @@
 #include <vlibmemory/api.h>
 #include <vnet/dhcp/dhcp6_ia_na_client_dp.h>
 #include <vnet/dhcp/dhcp6_client_common_dp.h>
+#include <vnet/ip/ip_types_api.h>
 
 #include <vnet/vnet_msg_enum.h>
 
@@ -454,7 +455,7 @@ void
   params.mrt = ntohl (mp->mrt);
   params.mrc = ntohl (mp->mrc);
   params.mrd = ntohl (mp->mrd);
-  params.msg_type = mp->msg_type;
+  params.msg_type = ntohl (mp->msg_type);
   params.T1 = ntohl (mp->T1);
   params.T2 = ntohl (mp->T2);
   n_addresses = ntohl (mp->n_addresses);
@@ -467,7 +468,7 @@ void
       dhcp6_send_client_message_params_address_t *addr = &params.addresses[i];
       addr->preferred_lt = ntohl (ai->preferred_time);
       addr->valid_lt = ntohl (ai->valid_time);
-      memcpy (addr->address.as_u8, ai->address, 16);
+      ip6_address_decode (ai->address, &addr->address);
     }
 
   dhcp6_send_client_message (vm, ntohl (mp->sw_if_index), mp->stop, &params);
@@ -495,7 +496,7 @@ static uword
 dhcp6_reply_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
                     vlib_frame_t * f)
 {
-  /* These cross the longjmp  boundry (vlib_process_wait_for_event)
+  /* These cross the longjmp  boundary (vlib_process_wait_for_event)
    * and need to be volatile - to prevent them from being optimized into
    * a register - which could change during suspension */
 
@@ -516,7 +517,7 @@ dhcp6_reply_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
                vec_len (events[i].addresses) *
                sizeof (vl_api_dhcp6_address_info_t);
              vl_api_dhcp6_reply_event_t *event = clib_mem_alloc (event_size);
-             memset (event, 0, event_size);
+             clib_memset (event, 0, event_size);
 
              event->sw_if_index = htonl (events[i].body.sw_if_index);
              event->server_index = htonl (events[i].body.server_index);
@@ -535,7 +536,7 @@ dhcp6_reply_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
              for (j = 0; j < vec_len (events[i].addresses); j++)
                {
                  dhcp6_address_info_t *info = &events[i].addresses[j];
-                 memcpy (address->address, &info->address, 16);
+                 ip6_address_encode (&info->address, address->address);
                  address->valid_time = htonl (info->valid_time);
                  address->preferred_time = htonl (info->preferred_time);
                  address++;