X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvcl%2Fvppcom.c;h=29e5a108d0e9b466caf05d956756191bca16375d;hb=b384b543313b6b47a277c903e9d4fcd4343054fa;hp=373304ba120ba1d49992deb2f408313b9e48e672;hpb=2167355e1657af1991085b880bb0dd0331093f4e;p=vpp.git diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index 373304ba120..29e5a108d0e 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -441,6 +441,10 @@ vppcom_connect_to_vpp (char *app_name) vcm->vl_input_queue = am->shmem_hdr->vl_input_queue; vcm->my_client_index = am->my_client_index; vcm->app_state = STATE_APP_CONN_VPP; + + if (VPPCOM_DEBUG > 0) + clib_warning ("VCL<%d>: app (%s) is connected to VPP!", + getpid (), app_name); } if (VPPCOM_DEBUG > 0) @@ -471,9 +475,6 @@ vppcom_connect_to_vpp (char *app_name) ed->data = rv; /* *INDENT-ON* */ } - - clib_warning ("VCL<%d>: app (%s) is connected to VPP!", - getpid (), app_name); return rv; } @@ -1632,7 +1633,6 @@ vppcom_session_disconnect (u32 session_index) { if (is_server) { - svm_fifo_segment_main_t *sm = &svm_fifo_segment_main; svm_fifo_segment_private_t *seg; VCL_LOCK_AND_GET_SESSION (session_index, &session); @@ -1648,7 +1648,7 @@ vppcom_session_disconnect (u32 session_index) session->server_tx_fifo, session->server_tx_fifo->refcnt); - seg = vec_elt_at_index (sm->segments, session->sm_seg_index); + seg = svm_fifo_segment_get_segment (session->sm_seg_index); svm_fifo_segment_free_fifo (seg, session->server_rx_fifo, FIFO_SEGMENT_RX_FREELIST); svm_fifo_segment_free_fifo (seg, session->server_tx_fifo, @@ -5066,6 +5066,25 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, VCL_SESS_ATTR_TEST (session->attr, VCL_SESS_ATTR_BROADCAST), *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_SET_BROADCAST: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = VCL_SESS_ATTR_TEST (session->attr, + VCL_SESS_ATTR_BROADCAST); + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5083,6 +5102,24 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, clib_warning ("VCL<%d>: VPPCOM_ATTR_GET_V6ONLY: %d, " "buflen %d, #VPP-TBD#", getpid (), *(int *) buffer, *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_GET_V6ONLY: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = *(int *) buffer; + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5102,6 +5139,25 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, "buflen %d, #VPP-TBD#", getpid (), VCL_SESS_ATTR_TEST (session->attr, VCL_SESS_ATTR_V6ONLY), *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_SET_V6ONLY: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = VCL_SESS_ATTR_TEST (session->attr, + VCL_SESS_ATTR_V6ONLY); + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5119,6 +5175,24 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, clib_warning ("VCL<%d>: VPPCOM_ATTR_GET_KEEPALIVE: %d, " "buflen %d, #VPP-TBD#", getpid (), *(int *) buffer, *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_GET_KEEPALIVE: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = *(int *) buffer; + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5139,6 +5213,25 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, VCL_SESS_ATTR_TEST (session->attr, VCL_SESS_ATTR_KEEPALIVE), *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_SET_KEEPALIVE: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = VCL_SESS_ATTR_TEST (session->attr, + VCL_SESS_ATTR_KEEPALIVE); + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5156,6 +5249,24 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, clib_warning ("VCL<%d>: VPPCOM_ATTR_GET_TCP_NODELAY: %d, " "buflen %d, #VPP-TBD#", getpid (), *(int *) buffer, *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_GET_TCP_NODELAY: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = *(int *) buffer; + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5176,6 +5287,25 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, VCL_SESS_ATTR_TEST (session->attr, VCL_SESS_ATTR_TCP_NODELAY), *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_SET_TCP_NODELAY: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = VCL_SESS_ATTR_TEST (session->attr, + VCL_SESS_ATTR_TCP_NODELAY); + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5193,6 +5323,24 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, clib_warning ("VCL<%d>: VPPCOM_ATTR_GET_TCP_KEEPIDLE: %d, " "buflen %d, #VPP-TBD#", getpid (), *(int *) buffer, *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_GET_TCP_KEEPIDLE: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = *(int *) buffer; + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5213,6 +5361,25 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, VCL_SESS_ATTR_TEST (session->attr, VCL_SESS_ATTR_TCP_KEEPIDLE), *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_SET_TCP_KEEPIDLE: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = VCL_SESS_ATTR_TEST (session->attr, + VCL_SESS_ATTR_TCP_KEEPIDLE); + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5230,6 +5397,24 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, clib_warning ("VCL<%d>: VPPCOM_ATTR_GET_TCP_KEEPINTVL: %d, " "buflen %d, #VPP-TBD#", getpid (), *(int *) buffer, *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_GET_TCP_KEEPIDLE: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = *(int *) buffer; + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5250,6 +5435,25 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, VCL_SESS_ATTR_TEST (session->attr, VCL_SESS_ATTR_TCP_KEEPINTVL), *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_SET_TCP_KEEPINTVL: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = VCL_SESS_ATTR_TEST (session->attr, + VCL_SESS_ATTR_TCP_KEEPINTVL); + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5266,6 +5470,24 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, clib_warning ("VCL<%d>: VPPCOM_ATTR_GET_TCP_USER_MSS: %d, " "buflen %d, #VPP-TBD#", getpid (), *(int *) buffer, *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_GET_TCP_USER_MSS: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = *(int *) buffer; + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5278,9 +5500,27 @@ vppcom_session_attr (uint32_t session_index, uint32_t op, session->user_mss = *(u32 *) buffer; if (VPPCOM_DEBUG > 2) - clib_warning ("VCL<%d>: VPPCOM_ATTR_SET_TCP_KEEPINTVL: %u, " + clib_warning ("VCL<%d>: VPPCOM_ATTR_SET_TCP_USER_MSS: %u, " "buflen %d, #VPP-TBD#", getpid (), session->user_mss, *buflen); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "VPPCOM_ATTR_SET_TCP_USER_MSS: %d buflen=%d", + .format_args = "i4i4", + }; + + struct { + u32 data[2]; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, session->elog_track); + ed->data[0] = session->user_mss; + ed->data[1] = *buflen; + /* *INDENT-ON* */ + } } else rv = VPPCOM_EINVAL; @@ -5314,6 +5554,23 @@ vppcom_session_recvfrom (uint32_t session_index, void *buffer, clib_warning ("VCL<%d>: invalid session, " "sid (%u) has been closed!", getpid (), session_index); + if (VPPCOM_DEBUG > 0) + { + /* *INDENT-OFF* */ + ELOG_TYPE_DECLARE (e) = + { + .format = "invalid session: %d closed", + .format_args = "i4", + }; + + struct { + u32 data; + } * ed; + + ed = ELOG_TRACK_DATA (&vcm->elog_main, e, vcm->elog_track); + ed->data = session_index; + /* *INDENT-ON* */ + } rv = VPPCOM_EBADFD; clib_spinlock_unlock (&vcm->sessions_lockp); goto done;