*/
#include <vnet/vnet.h>
-#include <vnet/pg/pg.h>
#include <vnet/mpls/mpls.h>
#include <vnet/fib/mpls_fib.h>
#include <vnet/fib/ip4_fib.h>
u8 is_api)
{
fib_node_index_t lfib_index;
+ vnet_main_t *vnm = vnet_get_main ();
+ vnet_hw_interface_t *hi = vnet_get_sup_hw_interface (vnm, sw_if_index);
vec_validate_init_empty (mm->mpls_enabled_by_sw_if_index, sw_if_index, 0);
fib_table_lock(lfib_index, FIB_PROTOCOL_MPLS,
(is_api? FIB_SOURCE_API: FIB_SOURCE_CLI));
- vec_validate(mm->fib_index_by_sw_if_index, 0);
+ vec_validate(mm->fib_index_by_sw_if_index, sw_if_index);
mm->fib_index_by_sw_if_index[sw_if_index] = lfib_index;
}
else
vnet_feature_enable_disable ("mpls-input", "mpls-not-enabled",
sw_if_index, !is_enable, 0, 0);
+ if (is_enable)
+ hi->l3_if_count++;
+ else if (hi->l3_if_count)
+ hi->l3_if_count--;
+
return (0);
}