summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-02-11 03:01:19 +0000
committerAndrew Yourtchenko <ayourtch@gmail.com>2020-08-12 15:59:46 +0000
commit0c342eb6ee62f4cf59c0f4703b52a38ba7483bba (patch)
treef9d31b17154ef2579ec3af4c855443ad535e2de7
parent954c0bb0cf5735e2506d5bbaa967d81902f56007 (diff)
ip: fix ip-local errors
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie8bc5c9a03e858487cf565b4e9b520e6b496337a (cherry picked from commit fa2a316663e622a2feeecf8ad7d32b242370a70a)
-rw-r--r--src/vnet/ip/ip4.h1
-rw-r--r--src/vnet/ip/ip4_forward.c4
-rw-r--r--src/vnet/ip/ip4_input.h2
-rw-r--r--test/test_gre.py4
4 files changed, 6 insertions, 5 deletions
diff --git a/src/vnet/ip/ip4.h b/src/vnet/ip/ip4.h
index 339b84b1b62..90893d0b411 100644
--- a/src/vnet/ip/ip4.h
+++ b/src/vnet/ip/ip4.h
@@ -178,6 +178,7 @@ typedef struct ip4_main_t
/** Global ip4 main structure. */
extern ip4_main_t ip4_main;
+extern char *ip4_error_strings[];
/** Global ip4 input node. Errors get attached to ip4 input node. */
extern vlib_node_registration_t ip4_input_node;
diff --git a/src/vnet/ip/ip4_forward.c b/src/vnet/ip/ip4_forward.c
index f7f56dd4bb7..fc7f6489ae5 100644
--- a/src/vnet/ip/ip4_forward.c
+++ b/src/vnet/ip/ip4_forward.c
@@ -1693,7 +1693,7 @@ ip4_local_inline (vlib_main_t * vm,
{
u32 *from, n_left_from;
vlib_node_runtime_t *error_node =
- vlib_node_get_runtime (vm, ip4_input_node.index);
+ vlib_node_get_runtime (vm, ip4_local_node.index);
u16 nexts[VLIB_FRAME_SIZE], *next;
vlib_buffer_t *bufs[VLIB_FRAME_SIZE], **b;
ip4_header_t *ip[2];
@@ -1822,6 +1822,8 @@ VLIB_REGISTER_NODE (ip4_local_node) =
.name = "ip4-local",
.vector_size = sizeof (u32),
.format_trace = format_ip4_forward_next_trace,
+ .n_errors = IP4_N_ERROR,
+ .error_strings = ip4_error_strings,
.n_next_nodes = IP_LOCAL_N_NEXT,
.next_nodes =
{
diff --git a/src/vnet/ip/ip4_input.h b/src/vnet/ip/ip4_input.h
index 5df2154b2c3..383ef31758c 100644
--- a/src/vnet/ip/ip4_input.h
+++ b/src/vnet/ip/ip4_input.h
@@ -43,8 +43,6 @@
#include <vnet/ip/ip.h>
#include <vnet/ethernet/ethernet.h>
-extern char *ip4_error_strings[];
-
typedef enum
{
IP4_INPUT_NEXT_DROP,
diff --git a/test/test_gre.py b/test/test_gre.py
index c5239b2cf9d..ae25cf7fb16 100644
--- a/test/test_gre.py
+++ b/test/test_gre.py
@@ -47,7 +47,7 @@ class TestGREInputNodes(VppTestCase):
self.pg_start()
# no tunnel created, gre-input not registered
err = self.statistics.get_counter(
- '/err/ip4-input/unknown ip protocol')[0]
+ '/err/ip4-local/unknown ip protocol')[0]
self.assertEqual(err, 1)
err_count = err
@@ -59,7 +59,7 @@ class TestGREInputNodes(VppTestCase):
self.pg_start()
# tunnel created, gre-input registered
err = self.statistics.get_counter(
- '/err/ip4-input/unknown ip protocol')[0]
+ '/err/ip4-local/unknown ip protocol')[0]
# expect no new errors
self.assertEqual(err, err_count)