Copying QoS Bits when fragmented, so that marking can happen properly also cleaning...
[vpp.git] / src / vnet / ip / ip_frag.c
index 6efb883..de09987 100644 (file)
@@ -61,6 +61,13 @@ frag_set_sw_if_index (vlib_buffer_t * to, vlib_buffer_t * from)
     vnet_buffer (from)->ip.adj_index[VLIB_RX];
   vnet_buffer (to)->ip.adj_index[VLIB_TX] =
     vnet_buffer (from)->ip.adj_index[VLIB_TX];
+
+  /* Copy QoS Bits */
+  if (PREDICT_TRUE (from->flags & VNET_BUFFER_F_QOS_DATA_VALID))
+    {
+      vnet_buffer2 (to)->qos = vnet_buffer2 (from)->qos;
+      to->flags |= VNET_BUFFER_F_QOS_DATA_VALID;
+    }
 }
 
 static vlib_buffer_t *