diff --git a/test/ext/vapi_c_test.c b/test/ext/vapi_c_test.c
index 725f5c3..0b22fff 100644
--- a/test/ext/vapi_c_test.c
+++ b/test/ext/vapi_c_test.c
@@ -514,7 +514,7 @@
     {
       ck_assert (NULL != reply);
       printf ("Interface dump entry: [%u]: %s\n", reply->sw_if_index,
-	      reply->interface_name.buf);
+	      reply->interface_name);
       size_t i = 0;
       for (i = 0; i < dctx->num_ifs; ++i)
 	{
@@ -577,8 +577,8 @@
       clib_memset (&seen, 0, sizeof (seen));
       dump = vapi_alloc_sw_interface_dump (ctx);
       dump->payload.name_filter_valid = 0;
-      clib_memset (dump->payload.name_filter.buf, 0,
-		   dump->payload.name_filter.length);
+      clib_memset (dump->payload.name_filter, 0,
+		   sizeof (dump->payload.name_filter));
       while (VAPI_EAGAIN ==
 	     (rv =
 	      vapi_sw_interface_dump (ctx, dump, sw_interface_dump_cb,
@@ -609,8 +609,8 @@
   clib_memset (&seen, 0, sizeof (seen));
   dump = vapi_alloc_sw_interface_dump (ctx);
   dump->payload.name_filter_valid = 0;
-  clib_memset (dump->payload.name_filter.buf, 0,
-	       dump->payload.name_filter.length);
+  clib_memset (dump->payload.name_filter, 0,
+	       sizeof (dump->payload.name_filter));
   while (VAPI_EAGAIN ==
 	 (rv =
 	  vapi_sw_interface_dump (ctx, dump, sw_interface_dump_cb, &dctx)))
@@ -734,8 +734,8 @@
   sw_interface_dump_ctx dctx = { false, num_ifs, sw_if_indexes, seen, 0 };
   vapi_msg_sw_interface_dump *dump = vapi_alloc_sw_interface_dump (ctx);
   dump->payload.name_filter_valid = 0;
-  clib_memset (dump->payload.name_filter.buf, 0,
-	       dump->payload.name_filter.length);
+  clib_memset (dump->payload.name_filter, 0,
+	       sizeof (dump->payload.name_filter));
   while (VAPI_EAGAIN ==
 	 (rv =
 	  vapi_sw_interface_dump (ctx, dump, sw_interface_dump_cb, &dctx)))
@@ -775,8 +775,8 @@
   dctx.last_called = false;
   dump = vapi_alloc_sw_interface_dump (ctx);
   dump->payload.name_filter_valid = 0;
-  clib_memset (dump->payload.name_filter.buf, 0,
-	       dump->payload.name_filter.length);
+  clib_memset (dump->payload.name_filter, 0,
+	       sizeof (dump->payload.name_filter));
   while (VAPI_EAGAIN ==
 	 (rv =
 	  vapi_sw_interface_dump (ctx, dump, sw_interface_dump_cb, &dctx)))
