diff --git a/src/vnet/dev/dev_api.c b/src/vnet/dev/dev_api.c
index 4161c32..db6d7b0 100644
--- a/src/vnet/dev/dev_api.c
+++ b/src/vnet/dev/dev_api.c
@@ -54,17 +54,17 @@
 
   vec_free (a.args);
 
-  REPLY_MACRO3 (VL_API_DEV_ATTACH_REPLY, vec_len (error_string), ({
-		  rmp->retval = rv;
-		  if (error_string)
-		    {
-		      rmp->dev_index = ~0;
-		      vl_api_vec_to_api_string (error_string,
-						&rmp->error_string);
-		    }
-		  else
-		    rmp->dev_index = a.dev_index;
-		}));
+  REPLY_MACRO3_END (VL_API_DEV_ATTACH_REPLY, vec_len (error_string), ({
+		      rmp->retval = rv;
+		      if (error_string)
+			{
+			  rmp->dev_index = ~0;
+			  vl_api_vec_to_api_string (error_string,
+						    &rmp->error_string);
+			}
+		      else
+			rmp->dev_index = a.dev_index;
+		    }));
 
   vec_free (a.args);
   vec_free (error_string);
@@ -86,12 +86,12 @@
   if (rv != VNET_DEV_OK)
     error_string = format (0, "%U", format_vnet_dev_rv, rv);
 
-  REPLY_MACRO3 (VL_API_DEV_DETACH_REPLY, vec_len (error_string), ({
-		  rmp->retval = rv;
-		  if (error_string)
-		    vl_api_vec_to_api_string (error_string,
-					      &rmp->error_string);
-		}));
+  REPLY_MACRO3_END (VL_API_DEV_DETACH_REPLY, vec_len (error_string), ({
+		      rmp->retval = rv;
+		      if (error_string)
+			vl_api_vec_to_api_string (error_string,
+						  &rmp->error_string);
+		    }));
 
   vec_free (error_string);
 }
@@ -128,17 +128,17 @@
 
   vec_free (a.args);
 
-  REPLY_MACRO3 (VL_API_DEV_CREATE_PORT_IF_REPLY, vec_len (error_string), ({
-		  rmp->retval = rv;
-		  if (error_string)
-		    {
-		      rmp->sw_if_index = ~0;
-		      vl_api_vec_to_api_string (error_string,
-						&rmp->error_string);
-		    }
-		  else
-		    rmp->sw_if_index = a.sw_if_index;
-		}));
+  REPLY_MACRO3_END (VL_API_DEV_CREATE_PORT_IF_REPLY, vec_len (error_string), ({
+		      rmp->retval = rv;
+		      if (error_string)
+			{
+			  rmp->sw_if_index = ~0;
+			  vl_api_vec_to_api_string (error_string,
+						    &rmp->error_string);
+			}
+		      else
+			rmp->sw_if_index = a.sw_if_index;
+		    }));
 
   vec_free (a.args);
   vec_free (error_string);
@@ -160,12 +160,12 @@
   if (rv != VNET_DEV_OK)
     error_string = format (0, "%U", format_vnet_dev_rv, rv);
 
-  REPLY_MACRO3 (VL_API_DEV_REMOVE_PORT_IF_REPLY, vec_len (error_string), ({
-		  rmp->retval = rv;
-		  if (error_string)
-		    vl_api_vec_to_api_string (error_string,
-					      &rmp->error_string);
-		}));
+  REPLY_MACRO3_END (VL_API_DEV_REMOVE_PORT_IF_REPLY, vec_len (error_string), ({
+		      rmp->retval = rv;
+		      if (error_string)
+			vl_api_vec_to_api_string (error_string,
+						  &rmp->error_string);
+		    }));
 
   vec_free (error_string);
 }
