ip: Use .api declared error counters
[vpp.git] / src / vnet / mpls / mpls_output.c
index faeba74..3ea6ce5 100644 (file)
@@ -363,12 +363,6 @@ VLIB_REGISTER_NODE (mpls_midchain_node) = {
   .format_trace = format_mpls_output_trace,
 };
 
-static char *mpls_frag_error_strings[] = {
-#define _(sym,string) string,
-  foreach_ip_frag_error
-#undef _
-};
-
 typedef struct mpls_frag_trace_t_
 {
     u16 pkt_size;
@@ -470,14 +464,13 @@ mpls_frag (vlib_main_t * vm,
                        icmp4_error_set_vnet_buffer (
                          p0, ICMP4_destination_unreachable,
                          ICMP4_destination_unreachable_fragmentation_needed_and_dont_fragment_set,
-                         vnet_buffer (p0)->ip_frag.mtu);
+                         mtu);
                        next0 = MPLS_FRAG_NEXT_ICMP4_ERROR;
                      }
                    else
                      {
-                       icmp6_error_set_vnet_buffer (
-                         p0, ICMP6_packet_too_big, 0,
-                         adj0->rewrite_header.max_l3_packet_bytes);
+                       icmp6_error_set_vnet_buffer (p0, ICMP6_packet_too_big,
+                                                    0, mtu);
                        next0 = MPLS_FRAG_NEXT_ICMP6_ERROR;
                      }
                  }
@@ -542,7 +535,7 @@ VLIB_REGISTER_NODE (mpls_frag_node) = {
   .type = VLIB_NODE_TYPE_INTERNAL,
 
   .n_errors = IP_FRAG_N_ERROR,
-  .error_strings = mpls_frag_error_strings,
+  .error_counters = ip_frag_error_counters,
 
   .n_next_nodes = MPLS_FRAG_N_NEXT,
   .next_nodes = { [MPLS_FRAG_NEXT_REWRITE] = "mpls-output",