/** 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;
{
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];
.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 =
{
#include <vnet/ip/ip.h>
#include <vnet/ethernet/ethernet.h>
-extern char *ip4_error_strings[];
-
typedef enum
{
IP4_INPUT_NEXT_DROP,
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
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)