u32 dev_instance,
u32 hw_class_index, u32 hw_instance);
+/**
+ * Set interface output node - for interface registered without its output/tx
+ * nodes created because its VNET_DEVICE_CLASS did not specify any tx_function.
+ * This is typically the case for tunnel interfaces.
+ */
+void vnet_set_interface_output_node (vnet_main_t * vnm,
+ u32 hw_if_index, u32 node_index);
+
/* Creates a software interface given template. */
clib_error_t *vnet_create_sw_interface (vnet_main_t * vnm,
vnet_sw_interface_t * template,
vnet_get_frame_to_sw_interface (vnet_main_t * vnm, u32 sw_if_index)
{
vnet_hw_interface_t *hw = vnet_get_sup_hw_interface (vnm, sw_if_index);
- return vlib_get_frame_to_node (vnm->vlib_main, hw->output_node_index);
+ return vlib_get_frame_to_node (vlib_get_main (), hw->output_node_index);
}
always_inline void
vlib_frame_t * f)
{
vnet_hw_interface_t *hw = vnet_get_sup_hw_interface (vnm, sw_if_index);
- return vlib_put_frame_to_node (vnm->vlib_main, hw->output_node_index, f);
+ return vlib_put_frame_to_node (vlib_get_main (), hw->output_node_index, f);
}
/* Change interface flags (e.g. up, down, enable, disable). */
vnet_hw_interface_rx_mode
mode);
+/* Set the MTU on the HW interface */
+void vnet_hw_interface_set_mtu (vnet_main_t * vnm, u32 hw_if_index, u32 mtu);
+
+/* update the unnumbered state of an interface */
+void vnet_sw_interface_update_unnumbered (u32 sw_if_index,
+ u32 ip_sw_if_index, u8 enable);
+
+int vnet_sw_interface_stats_collect_enable_disable (u32 sw_if_index,
+ u8 enable);
+
/* Formats sw/hw interface. */
format_function_t format_vnet_hw_interface;
format_function_t format_vnet_hw_interface_rx_mode;