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,
.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)
.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
*/