udp: fix severity error info 82/33982/4
authorFilip Tehlar <ftehlar@cisco.com>
Wed, 6 Oct 2021 12:48:34 +0000 (12:48 +0000)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 7 Oct 2021 15:34:31 +0000 (15:34 +0000)
Type: fix

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I415d68b39ecac546b531f6eb98bca51e7eb6f7f7

src/vnet/udp/udp.h
src/vnet/udp/udp_error.def
src/vnet/udp/udp_input.c
src/vnet/udp/udp_local.c
test/test_gtpu.py
test/test_trace_filter.py

index 89539e5..f157711 100644 (file)
@@ -27,7 +27,7 @@
 
 typedef enum
 {
-#define udp_error(n,s) UDP_ERROR_##n,
+#define udp_error(f, n, s, d) UDP_ERROR_##f,
 #include <vnet/udp/udp_error.def>
 #undef udp_error
   UDP_N_ERROR,
index 776d94a..178d5c9 100644 (file)
  * limitations under the License.
  */
 
-udp_error (NONE, "No error")
-udp_error (NO_LISTENER, "No listener for dst port")
-udp_error (LENGTH_ERROR, "Packets with length errors")
-udp_error (PUNT, "No listener punt")
-udp_error (ENQUEUED, "Packets enqueued")
-udp_error (FIFO_FULL, "Fifo full")
-udp_error (NOT_READY, "Connection not ready")
-udp_error (ACCEPT, "Accepted session")
-udp_error (CREATE_SESSION, "Failed to create session")
-udp_error (MQ_FULL, "Application msg queue full")
+udp_error (NONE, none, INFO, "No error")
+udp_error (NO_LISTENER, no_listener, ERROR, "No listener for dst port")
+udp_error (LENGTH_ERROR, length_error, ERROR, "Packets with length errors")
+udp_error (PUNT, punt, ERROR, "No listener punt")
+udp_error (ENQUEUED, enqueued, INFO, "Packets enqueued")
+udp_error (FIFO_FULL, fifo_full, ERROR, "Fifo full")
+udp_error (NOT_READY, not_ready, ERROR, "Connection not ready")
+udp_error (ACCEPT, accept, INFO, "Accepted session")
+udp_error (CREATE_SESSION, create_session, ERROR, "Failed to create session")
+udp_error (MQ_FULL, mq_full, ERROR, "Application msg queue full")
index c76c1b7..d14bdb8 100644 (file)
@@ -26,8 +26,8 @@
 #include <vnet/udp/udp_packet.h>
 #include <vnet/session/session.h>
 
-static char *udp_error_strings[] = {
-#define udp_error(n,s) s,
+static vlib_error_desc_t udp_error_counters[] = {
+#define udp_error(f, n, s, d) { #n, d, VL_COUNTER_SEVERITY_##s },
 #include "udp_error.def"
 #undef udp_error
 };
@@ -350,8 +350,8 @@ VLIB_REGISTER_NODE (udp4_input_node) =
   .vector_size = sizeof (u32),
   .format_trace = format_udp_input_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
-  .n_errors = ARRAY_LEN (udp_error_strings),
-  .error_strings = udp_error_strings,
+  .n_errors = UDP_N_ERROR,
+  .error_counters = udp_error_counters,
   .n_next_nodes = UDP_INPUT_N_NEXT,
   .next_nodes = {
 #define _(s, n) [UDP_INPUT_NEXT_##s] = n,
@@ -376,8 +376,8 @@ VLIB_REGISTER_NODE (udp6_input_node) =
   .vector_size = sizeof (u32),
   .format_trace = format_udp_input_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
-  .n_errors = ARRAY_LEN (udp_error_strings),
-  .error_strings = udp_error_strings,
+  .n_errors = UDP_N_ERROR,
+  .error_counters = udp_error_counters,
   .n_next_nodes = UDP_INPUT_N_NEXT,
   .next_nodes = {
 #define _(s, n) [UDP_INPUT_NEXT_##s] = n,
index edfec33..06bafbb 100644 (file)
@@ -36,6 +36,12 @@ typedef struct
   u8 bound;
 } udp_local_rx_trace_t;
 
+static vlib_error_desc_t udp_error_counters[] = {
+#define udp_error(f, n, s, d) { #n, d, VL_COUNTER_SEVERITY_##s },
+#include "udp_error.def"
+#undef udp_error
+};
+
 #define UDP_NO_NODE_SET ((u16) ~0)
 
 #ifndef CLIB_MARCH_VARIANT
@@ -342,12 +348,6 @@ udp46_local_inline (vlib_main_t * vm,
   return from_frame->n_vectors;
 }
 
-static char *udp_error_strings[] = {
-#define udp_error(n,s) s,
-#include "udp_error.def"
-#undef udp_error
-};
-
 VLIB_NODE_FN (udp4_local_node) (vlib_main_t * vm,
                                vlib_node_runtime_t * node,
                                vlib_frame_t * from_frame)
@@ -369,7 +369,7 @@ VLIB_REGISTER_NODE (udp4_local_node) = {
   .vector_size = sizeof (u32),
 
   .n_errors = UDP_N_ERROR,
-  .error_strings = udp_error_strings,
+  .error_counters = udp_error_counters,
 
   .n_next_nodes = UDP_LOCAL_N_NEXT,
   .next_nodes = {
@@ -391,7 +391,7 @@ VLIB_REGISTER_NODE (udp6_local_node) = {
   .vector_size = sizeof (u32),
 
   .n_errors = UDP_N_ERROR,
-  .error_strings = udp_error_strings,
+  .error_counters = udp_error_counters,
 
   .n_next_nodes = UDP_LOCAL_N_NEXT,
   .next_nodes = {
index 791067c..e4a2bfa 100644 (file)
@@ -47,7 +47,7 @@ class TestGtpuUDP(VppTestCase):
         self.pg_start()
 
         err = self.statistics.get_counter(
-            '/err/ip4-udp-lookup/No listener for dst port')[0]
+            '/err/ip4-udp-lookup/no_listener')[0]
 
         if enabled:
             self.assertEqual(err, self.ip4_err)
@@ -66,7 +66,7 @@ class TestGtpuUDP(VppTestCase):
         self.pg_start()
 
         err = self.statistics.get_counter(
-            '/err/ip6-udp-lookup/No listener for dst port')[0]
+            '/err/ip6-udp-lookup/no_listener')[0]
 
         if enabled:
             self.assertEqual(err, self.ip6_err)
index fd250ac..a37d4b9 100644 (file)
@@ -211,7 +211,7 @@ class TestTracefilter(VppTestCase):
         """ Drop Packet Capture Filter Test """
         self.cli(
             "pcap trace drop max 1000 "
-            "error {ip4-udp-lookup}.{No listener for dst port} "
+            "error {ip4-udp-lookup}.{no_listener} "
             "file vpp_test_trace_filter_test_pcap_drop.pcap")
         # the packet we are trying to match
         p = list()