X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fpg%2Fpg_api.c;h=18de1e9e8c49b15baac23e123ce9e53be3f58b2e;hb=db86329ab;hp=49b661e7dc491607987b6e15dfe9d47ebd7ee3c1;hpb=b8d4481a93f919291d4b682ef0ac8948a9f1be32;p=vpp.git diff --git a/src/vnet/pg/pg_api.c b/src/vnet/pg/pg_api.c index 49b661e7dc4..18de1e9e8c4 100644 --- a/src/vnet/pg/pg_api.c +++ b/src/vnet/pg/pg_api.c @@ -46,9 +46,6 @@ _(PG_CREATE_INTERFACE, pg_create_interface) \ _(PG_CAPTURE, pg_capture) \ _(PG_ENABLE_DISABLE, pg_enable_disable) -extern void stats_dslock_with_hint (int hint, int tag); -extern void stats_dsunlock (void); - static void vl_api_pg_create_interface_t_handler (vl_api_pg_create_interface_t * mp) { @@ -56,7 +53,9 @@ vl_api_pg_create_interface_t_handler (vl_api_pg_create_interface_t * mp) int rv = 0; pg_main_t *pg = &pg_main; - u32 pg_if_id = pg_interface_add_or_get (pg, ntohl (mp->interface_id)); + u32 pg_if_id = pg_interface_add_or_get (pg, ntohl (mp->interface_id), + mp->gso_enabled, + ntohl (mp->gso_size)); pg_interface_t *pi = pool_elt_at_index (pg->interfaces, pg_if_id); /* *INDENT-OFF* */ @@ -88,10 +87,8 @@ vl_api_pg_capture_t_handler (vl_api_pg_capture_t * mp) if (hw_if_index != ~0) { pg_capture_args_t _a, *a = &_a; - - u32 len = ntohl (mp->pcap_name_length); - u8 *pcap_file_name = vec_new (u8, len); - clib_memcpy (pcap_file_name, mp->pcap_file_name, len); + char *pcap_file_name = + vl_api_from_api_to_new_c_string (&mp->pcap_file_name); hi = vnet_get_sup_hw_interface (vnm, hw_if_index); a->hw_if_index = hw_if_index; @@ -122,12 +119,10 @@ vl_api_pg_enable_disable_t_handler (vl_api_pg_enable_disable_t * mp) u32 stream_index = ~0; int is_enable = mp->is_enabled != 0; - u32 len = ntohl (mp->stream_name_length) - 1; - if (len > 0) + if (vl_api_string_len (&mp->stream_name) > 0) { - u8 *stream_name = vec_new (u8, len); - clib_memcpy (stream_name, mp->stream_name, len); + u8 *stream_name = vl_api_from_api_to_new_vec (&mp->stream_name); uword *p = hash_get_mem (pg->stream_index_by_name, stream_name); if (p) stream_index = *p; @@ -154,7 +149,7 @@ setup_message_id_table (api_main_t * am) static clib_error_t * pg_api_hookup (vlib_main_t * vm) { - api_main_t *am = &api_main; + api_main_t *am = vlibapi_get_main (); #define _(N,n) \ vl_msg_api_set_handlers(VL_API_##N, #n, \