A bit of buffer metadata reshuffling to accommodate flow_id

Change-Id: I2794384557c6272fe217269b14a9db09eda19220
Signed-off-by: Damjan Marion <damarion@cisco.com>
diff --git a/src/vnet/ip/ip4_input.h b/src/vnet/ip/ip4_input.h
index 2692848..600d693 100644
--- a/src/vnet/ip/ip4_input.h
+++ b/src/vnet/ip/ip4_input.h
@@ -133,6 +133,7 @@
       else
 	*next0 = error0 != IP4_ERROR_OPTIONS ?
 	  IP4_INPUT_NEXT_DROP : IP4_INPUT_NEXT_PUNT;
+      p0->error = error_node->errors[error0];
     }
   if (PREDICT_FALSE (error1 != IP4_ERROR_NONE))
     {
@@ -146,10 +147,9 @@
       else
 	*next1 = error1 != IP4_ERROR_OPTIONS ?
 	  IP4_INPUT_NEXT_DROP : IP4_INPUT_NEXT_PUNT;
+      p1->error = error_node->errors[error1];
     }
 
-  p0->error = error_node->errors[error0];
-  p1->error = error_node->errors[error1];
 }
 
 always_inline void
@@ -208,9 +208,9 @@
       else
 	*next0 = error0 != IP4_ERROR_OPTIONS ?
 	  IP4_INPUT_NEXT_DROP : IP4_INPUT_NEXT_PUNT;
+      p0->error = error_node->errors[error0];
     }
 
-  p0->error = error_node->errors[error0];
 }
 
 /*
diff --git a/src/vnet/ip/ip4_reassembly.c b/src/vnet/ip/ip4_reassembly.c
index 33cdbd5..d924f37 100644
--- a/src/vnet/ip/ip4_reassembly.c
+++ b/src/vnet/ip/ip4_reassembly.c
@@ -402,7 +402,7 @@
 ip4_reass_finalize (vlib_main_t * vm, vlib_node_runtime_t * node,
 		    ip4_reass_main_t * rm, ip4_reass_per_thread_t * rt,
 		    ip4_reass_t * reass, u32 * bi0, u32 * next0,
-		    vlib_error_t * error0, u32 ** vec_drop_compress,
+		    u32 * error0, u32 ** vec_drop_compress,
 		    u32 ** vec_drop_overlap, bool is_feature)
 {
   ASSERT (~0 != reass->first_bi);
@@ -651,7 +651,7 @@
 ip4_reass_update (vlib_main_t * vm, vlib_node_runtime_t * node,
 		  ip4_reass_main_t * rm, ip4_reass_per_thread_t * rt,
 		  ip4_reass_t * reass, u32 * bi0, u32 * next0,
-		  vlib_error_t * error0, u32 ** vec_drop_overlap,
+		  u32 * error0, u32 ** vec_drop_overlap,
 		  u32 ** vec_drop_compress, bool is_feature)
 {
   int consumed = 0;
diff --git a/src/vnet/ip/ip6_reassembly.c b/src/vnet/ip/ip6_reassembly.c
index 8b199f3..ce30d95 100644
--- a/src/vnet/ip/ip6_reassembly.c
+++ b/src/vnet/ip/ip6_reassembly.c
@@ -437,8 +437,7 @@
 ip6_reass_finalize (vlib_main_t * vm, vlib_node_runtime_t * node,
 		    ip6_reass_main_t * rm, ip6_reass_per_thread_t * rt,
 		    ip6_reass_t * reass, u32 * bi0, u32 * next0,
-		    vlib_error_t * error0, u32 ** vec_drop_compress,
-		    bool is_feature)
+		    u32 * error0, u32 ** vec_drop_compress, bool is_feature)
 {
   ASSERT (~0 != reass->first_bi);
   *bi0 = reass->first_bi;
@@ -660,7 +659,7 @@
 ip6_reass_update (vlib_main_t * vm, vlib_node_runtime_t * node,
 		  ip6_reass_main_t * rm, ip6_reass_per_thread_t * rt,
 		  ip6_reass_t * reass, u32 * bi0, u32 * next0,
-		  vlib_error_t * error0, ip6_frag_hdr_t * frag_hdr,
+		  u32 * error0, ip6_frag_hdr_t * frag_hdr,
 		  u32 ** vec_drop_overlap, u32 ** vec_drop_compress,
 		  bool is_feature)
 {