X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Finterface_api.c;h=fe3426cb82757331f706b3f5a0a03bbd8d736903;hb=39d69112fcec114fde34955ceb41555221d3ba11;hp=5e9561fec5feaadacd215778d0f4a983e586d614;hpb=669f4e3416282ef022e6c59d09656b0563e5aae6;p=vpp.git diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c index 5e9561fec5f..fe3426cb827 100644 --- a/src/vnet/interface_api.c +++ b/src/vnet/interface_api.c @@ -272,26 +272,26 @@ send_sw_interface_details (vpe_api_main_t * am, mp->sub_inner_vlan_id = ntohs (sub->eth.inner_vlan_id); mp->sub_if_flags = ntohl (sub->eth.raw_flags & SUB_IF_API_FLAG_MASK_VNET); + } - /* vlan tag rewrite data */ - u32 vtr_op = L2_VTR_DISABLED; - u32 vtr_push_dot1q = 0, vtr_tag1 = 0, vtr_tag2 = 0; + /* vlan tag rewrite data */ + u32 vtr_op = L2_VTR_DISABLED; + u32 vtr_push_dot1q = 0, vtr_tag1 = 0, vtr_tag2 = 0; - if (l2vtr_get (am->vlib_main, am->vnet_main, swif->sw_if_index, - &vtr_op, &vtr_push_dot1q, &vtr_tag1, &vtr_tag2) != 0) - { - // error - default to disabled - mp->vtr_op = ntohl (L2_VTR_DISABLED); - clib_warning ("cannot get vlan tag rewrite for sw_if_index %d", - swif->sw_if_index); - } - else - { - mp->vtr_op = ntohl (vtr_op); - mp->vtr_push_dot1q = ntohl (vtr_push_dot1q); - mp->vtr_tag1 = ntohl (vtr_tag1); - mp->vtr_tag2 = ntohl (vtr_tag2); - } + if (l2vtr_get (am->vlib_main, am->vnet_main, swif->sw_if_index, + &vtr_op, &vtr_push_dot1q, &vtr_tag1, &vtr_tag2) != 0) + { + // error - default to disabled + mp->vtr_op = ntohl (L2_VTR_DISABLED); + clib_warning ("cannot get vlan tag rewrite for sw_if_index %d", + swif->sw_if_index); + } + else + { + mp->vtr_op = ntohl (vtr_op); + mp->vtr_push_dot1q = ntohl (vtr_push_dot1q); + mp->vtr_tag1 = ntohl (vtr_tag1); + mp->vtr_tag2 = ntohl (vtr_tag2); } /* pbb tag rewrite data */ @@ -358,9 +358,8 @@ vl_api_sw_interface_dump_t_handler (vl_api_sw_interface_dump_t * mp) if (mp->name_filter_valid) { - filter = - format (0, ".*%s", vl_api_string_len (&mp->name_filter), - vl_api_from_api_string (&mp->name_filter), 0); + filter = vl_api_from_api_to_vec (&mp->name_filter); + vec_add1 (filter, 0); /* Ensure it's a C string for strcasecmp() */ } char *strcasestr (char *, char *); /* lnx hdr file botch */ @@ -829,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); @@ -850,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); @@ -1391,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, \