aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/misc.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2016-08-25 15:29:12 +0100
committerDamjan Marion <dmarion.lists@gmail.com>2016-09-21 17:37:39 +0000
commit0bfe5d8c792abcdbcf27bfcc7b7b353fba04aee2 (patch)
treed600b0e2e693e766e722936744930d3bebac493c /vnet/vnet/misc.c
parent60537f3d83e83d0ce10a620ca99aad4eddf85f5e (diff)
A Protocol Independent Hierarchical FIB (VPP-352)
Main Enhancements: - Protocol Independent FIB API - Hierarchical FIB entries. Dynamic recursive route resolution. - Extranet Support. - Integration of IP and MPLS forwarding. - Separation of FIB and Adjacency databases. - Data-Plane Object forwarding model. Change-Id: I52dc815c0d0aa8b493e3cf6b978568f3cc82296c Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'vnet/vnet/misc.c')
-rw-r--r--vnet/vnet/misc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/vnet/vnet/misc.c b/vnet/vnet/misc.c
index c0729f73..4c8c4cad 100644
--- a/vnet/vnet/misc.c
+++ b/vnet/vnet/misc.c
@@ -38,6 +38,7 @@
*/
#include <vnet/vnet.h>
+#include <vnet/ip/ip.h>
vnet_main_t vnet_main;
@@ -79,6 +80,9 @@ vnet_main_init (vlib_main_t * vm)
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, ip_main_init)))
return error;
@@ -88,6 +92,9 @@ vnet_main_init (vlib_main_t * vm)
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
@@ -98,6 +105,11 @@ vnet_main_init (vlib_main_t * vm)
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);
+
return 0;
}