#include <vnet/ip/ip.h>
vnet_main_t vnet_main;
-vnet_main_t **vnet_mains;
vnet_main_t *
vnet_get_main (void)
return f->n_vectors;
}
-/* *INDENT-OFF* */
VNET_DEVICE_CLASS (vnet_local_interface_device_class) = {
.name = "local",
.tx_function = vnet_local_interface_tx,
};
-/* *INDENT-ON* */
-/* *INDENT-OFF* */
VNET_HW_INTERFACE_CLASS (vnet_local_interface_hw_class,static) = {
.name = "local",
};
-/* *INDENT-ON* */
clib_error_t *
vnet_main_init (vlib_main_t * vm)
{
vnet_main_t *vnm = vnet_get_main ();
- clib_error_t *error;
u32 hw_if_index;
vnet_hw_interface_t *hw;
- if ((error = vlib_call_init_function (vm, vnet_interface_init)))
- return error;
-
- if ((error = vlib_call_init_function (vm, fib_module_init)))
- return error;
-
- if ((error = vlib_call_init_function (vm, mfib_module_init)))
- return error;
-
- if ((error = vlib_call_init_function (vm, ip_main_init)))
- return error;
-
- if ((error = vlib_call_init_function (vm, ip4_lookup_init)))
- return error;
-
- if ((error = vlib_call_init_function (vm, ip6_lookup_init)))
- return error;
-
- if ((error = vlib_call_init_function (vm, mpls_init)))
- return error;
-
vnm->vlib_main = vm;
hw_if_index = vnet_register_interface
vnm->local_interface_hw_if_index = hw_if_index;
vnm->local_interface_sw_if_index = hw->sw_if_index;
- /* the local interface is used as an input interface when decapping from
- * an IPSEC tunnel. so it needs to be IP enabled */
- ip4_sw_interface_enable_disable (hw->sw_if_index, 1);
- ip6_sw_interface_enable_disable (hw->sw_if_index, 1);
+ vnm->pcap.current_filter_function =
+ vlib_is_packet_traced_default_function ();
return 0;
}
-VLIB_INIT_FUNCTION (vnet_main_init);
+VLIB_INIT_FUNCTION (vnet_main_init)=
+{
+ .init_order = VLIB_INITS("vnet_interface_init",
+ "ethernet_init",
+ "fib_module_init",
+ "mfib_module_init",
+ "ip_main_init",
+ "ip4_lookup_init",
+ "ip6_lookup_init",
+ "mpls_init",
+ "vnet_main_init"),
+};
/*
* fd.io coding-style-patch-verification: ON