diff options
Diffstat (limited to 'nsh-plugin/nsh/nsh_output.c')
-rw-r--r-- | nsh-plugin/nsh/nsh_output.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/nsh-plugin/nsh/nsh_output.c b/nsh-plugin/nsh/nsh_output.c index c104ee7..5671463 100644 --- a/nsh-plugin/nsh/nsh_output.c +++ b/nsh-plugin/nsh/nsh_output.c @@ -315,6 +315,10 @@ nsh_output_inline (vlib_main_t * vm, return from_frame->n_vectors; } +typedef enum nsh_midchain_next_t_ +{ + NSH_MIDCHAIN_NEXT_DROP, +} nsh_midchain_next_t; static inline uword nsh_eth_output (vlib_main_t * vm, @@ -354,7 +358,10 @@ VLIB_REGISTER_NODE (nsh_midchain_node) = { .name = "nsh-midchain", .vector_size = sizeof (u32), .format_trace = format_nsh_output_trace, - .sibling_of = "nsh-eth-output", + .n_next_nodes = 1, + .next_nodes = { + [NSH_MIDCHAIN_NEXT_DROP] = "error-drop", + }, }; VLIB_NODE_FUNCTION_MULTIARCH (nsh_midchain_node, nsh_midchain) @@ -366,6 +373,21 @@ VNET_FEATURE_INIT (nsh_interface_output, static) = { .runs_before = 0, /* not before any other features */ }; +/* Built-in ip4 tx feature path definition */ +/* *INDENT-OFF* */ +VNET_FEATURE_ARC_INIT (nsh_eth_output, static) = +{ + .arc_name = "nsh-eth-output", + .start_nodes = VNET_FEATURES ("nsh-midchain"), +}; + +VNET_FEATURE_INIT (nsh_eth_tx_drop, static) = +{ + .arc_name = "nsh-eth-output", + .node_name = "error-drop", + .runs_before = 0, /* not before any other features */ +}; +/* *INDENT-ON* */ /** * @brief Next index values from the NSH incomplete adj node */ |