X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Finterface_api.c;h=fe3426cb82757331f706b3f5a0a03bbd8d736903;hb=282872127;hp=0dad168203d9667e001ec429b8c3c5828669d7c8;hpb=9485d99bd3941b13abf7e47fc7e1d56f7b4fee55;p=vpp.git diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c index 0dad168203d..fe3426cb827 100644 --- a/src/vnet/interface_api.c +++ b/src/vnet/interface_api.c @@ -828,8 +828,9 @@ link_up_down_function (vnet_main_t * vm, u32 hw_if_index, u32 flags) if (vam->link_state_process_up) { - enum api_events event = - flags ? API_LINK_STATE_UP_EVENT : API_LINK_STATE_DOWN_EVENT; + enum api_events event = ((flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ? + API_LINK_STATE_UP_EVENT : + API_LINK_STATE_DOWN_EVENT); vlib_process_signal_event (vam->vlib_main, link_state_process_node.index, event, hi->sw_if_index); @@ -849,8 +850,8 @@ admin_up_down_function (vnet_main_t * vm, u32 sw_if_index, u32 flags) */ if (vam->link_state_process_up) { - enum api_events event = - flags ? API_ADMIN_UP_EVENT : API_ADMIN_DOWN_EVENT; + enum api_events event = ((flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ? + API_ADMIN_UP_EVENT : API_ADMIN_DOWN_EVENT); vlib_process_signal_event (vam->vlib_main, link_state_process_node.index, event, sw_if_index); @@ -1390,7 +1391,7 @@ pub_sub_handler (interface_events, INTERFACE_EVENTS); static clib_error_t * interface_api_hookup (vlib_main_t * vm) { - api_main_t *am = &api_main; + api_main_t *am = vlibapi_get_main (); #define _(N,n) \ vl_msg_api_set_handlers(VL_API_##N, #n, \