[re]Enable per-Adjacency/neighbour counters
[vpp.git] / src / vnet / mpls / mpls_output.c
index 8292a0c..c06cf91 100644 (file)
@@ -128,18 +128,19 @@ mpls_output_inline (vlib_main_t * vm,
           rw_len0 = adj0[0].rewrite_header.data_bytes;
           rw_len1 = adj1[0].rewrite_header.data_bytes;
 
-          if (PREDICT_FALSE (rw_len0 > sizeof(ethernet_header_t)))
-              vlib_increment_combined_counter
-                  (&adjacency_counters,
-                   cpu_index, adj_index0,
-                   /* packet increment */ 0,
-                   /* byte increment */ rw_len0-sizeof(ethernet_header_t));
-          if (PREDICT_FALSE (rw_len1 > sizeof(ethernet_header_t)))
-              vlib_increment_combined_counter
-                  (&adjacency_counters,
-                   cpu_index, adj_index1,
-                   /* packet increment */ 0,
-                   /* byte increment */ rw_len1-sizeof(ethernet_header_t));
+          /* Bump the adj counters for packet and bytes */
+          vlib_increment_combined_counter
+              (&adjacency_counters,
+               cpu_index,
+               adj_index0,
+               1,
+               vlib_buffer_length_in_chain (vm, p0) + rw_len0);
+          vlib_increment_combined_counter
+              (&adjacency_counters,
+               cpu_index,
+               adj_index1,
+               1,
+               vlib_buffer_length_in_chain (vm, p1) + rw_len1);
 
           /* Check MTU of outgoing interface. */
           if (PREDICT_TRUE(vlib_buffer_length_in_chain (vm, p0) <=
@@ -234,12 +235,12 @@ mpls_output_inline (vlib_main_t * vm,
           /* Update packet buffer attributes/set output interface. */
           rw_len0 = adj0[0].rewrite_header.data_bytes;
           
-          if (PREDICT_FALSE (rw_len0 > sizeof(ethernet_header_t)))
-              vlib_increment_combined_counter 
-                  (&adjacency_counters,
-                   cpu_index, adj_index0, 
-                   /* packet increment */ 0,
-                   /* byte increment */ rw_len0-sizeof(ethernet_header_t));
+          vlib_increment_combined_counter
+              (&adjacency_counters,
+               cpu_index,
+               adj_index0,
+               1,
+               vlib_buffer_length_in_chain (vm, p0) + rw_len0);
           
           /* Check MTU of outgoing interface. */
           if (PREDICT_TRUE(vlib_buffer_length_in_chain (vm, p0) <=