udp: fix local node no port error counter 63/26463/3
authorFlorin Coras <fcoras@cisco.com>
Fri, 10 Apr 2020 02:01:51 +0000 (02:01 +0000)
committerDave Barach <openvpp@barachs.net>
Fri, 10 Apr 2020 15:23:02 +0000 (15:23 +0000)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie0c5a86aedfa38fdcbb835aee7c9e91d59b222d6

src/vnet/udp/udp_local.c

index 748ad73..1451cc3 100644 (file)
@@ -61,7 +61,6 @@ udp46_local_inline (vlib_main_t * vm,
 {
   udp_main_t *um = &udp_main;
   __attribute__ ((unused)) u32 n_left_from, next_index, *from, *to_next;
-  word n_no_listener = 0;
   u8 punt_unknown = is_ip4 ? um->punt_unknown4 : um->punt_unknown6;
   u16 *next_by_dst_port = (is_ip4 ?
                           um->next_by_dst_port4 : um->next_by_dst_port6);
@@ -187,8 +186,8 @@ udp46_local_inline (vlib_main_t * vm,
                                               ICMP4_destination_unreachable,
                                               ICMP4_destination_unreachable_port_unreachable,
                                               0);
+                 b0->error = node->errors[UDP_ERROR_NO_LISTENER];
                  next0 = UDP_LOCAL_NEXT_ICMP;
-                 n_no_listener++;
                }
              else
                {
@@ -196,8 +195,8 @@ udp46_local_inline (vlib_main_t * vm,
                                               ICMP6_destination_unreachable,
                                               ICMP6_destination_unreachable_port_unreachable,
                                               0);
+                 b0->error = node->errors[UDP_ERROR_NO_LISTENER];
                  next0 = UDP_LOCAL_NEXT_ICMP;
-                 n_no_listener++;
                }
            }
          else
@@ -225,8 +224,8 @@ udp46_local_inline (vlib_main_t * vm,
                                               ICMP4_destination_unreachable,
                                               ICMP4_destination_unreachable_port_unreachable,
                                               0);
+                 b1->error = node->errors[UDP_ERROR_NO_LISTENER];
                  next1 = UDP_LOCAL_NEXT_ICMP;
-                 n_no_listener++;
                }
              else
                {
@@ -234,8 +233,8 @@ udp46_local_inline (vlib_main_t * vm,
                                               ICMP6_destination_unreachable,
                                               ICMP6_destination_unreachable_port_unreachable,
                                               0);
+                 b1->error = node->errors[UDP_ERROR_NO_LISTENER];
                  next1 = UDP_LOCAL_NEXT_ICMP;
-                 n_no_listener++;
                }
            }
          else
@@ -331,8 +330,8 @@ udp46_local_inline (vlib_main_t * vm,
                                                   ICMP4_destination_unreachable,
                                                   ICMP4_destination_unreachable_port_unreachable,
                                                   0);
+                     b0->error = node->errors[UDP_ERROR_NO_LISTENER];
                      next0 = UDP_LOCAL_NEXT_ICMP;
-                     n_no_listener++;
                    }
                  else
                    {
@@ -340,8 +339,8 @@ udp46_local_inline (vlib_main_t * vm,
                                                   ICMP6_destination_unreachable,
                                                   ICMP6_destination_unreachable_port_unreachable,
                                                   0);
+                     b0->error = node->errors[UDP_ERROR_NO_LISTENER];
                      next0 = UDP_LOCAL_NEXT_ICMP;
-                     n_no_listener++;
                    }
                }
              else
@@ -377,8 +376,6 @@ udp46_local_inline (vlib_main_t * vm,
 
       vlib_put_next_frame (vm, node, next_index, n_left_to_next);
     }
-  vlib_error_count (vm, node->node_index, UDP_ERROR_NO_LISTENER,
-                   n_no_listener);
   return from_frame->n_vectors;
 }