vnet_feature_enable_disable ("device-input", "bond-input",
mif->sw_if_index, 0, 0, 0);
+ vnet_feature_enable_disable ("port-rx-eth", "bond-input", mif->sw_if_index,
+ 0, 0, 0);
+
/* Put back the old mac */
vnet_hw_interface_change_mac_address (vnm, mif_hw->hw_if_index,
mif->persistent_hw_address);
args->rv = vnet_feature_enable_disable ("device-input", "bond-input",
mif->sw_if_index, 1, 0, 0);
+ if (args->rv)
+ {
+ args->error = clib_error_return (
+ 0, "Error encountered on device input feature arc enable");
+ }
+
+ args->rv = vnet_feature_enable_disable ("port-rx-eth", "bond-input",
+ mif->sw_if_index, 1, 0, 0);
if (args->rv)
- {
- args->error =
- clib_error_return (0,
- "Error encountered on input feature arc enable");
- }
+ {
+ args->error =
+ clib_error_return (0, "Error encountered on port rx feature arc enable");
+ }
}
static clib_error_t *
VLIB_INIT_FUNCTION (bond_input_init);
-VNET_FEATURE_INIT (bond_input, static) =
-{
+VNET_FEATURE_INIT (bond_input_device, static) = {
.arc_name = "device-input",
.node_name = "bond-input",
.runs_before = VNET_FEATURES ("ethernet-input"),
};
+VNET_FEATURE_INIT (bond_input_rx, static) = {
+ .arc_name = "port-rx-eth",
+ .node_name = "bond-input",
+ .runs_before = VNET_FEATURES ("ethernet-input"),
+};
+
static clib_error_t *
bond_sw_interface_up_down (vnet_main_t * vnm, u32 sw_if_index, u32 flags)
{