X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvcl%2Fvppcom.h;h=08724cc31d8bb78f6c6206b158c707fb374bdf50;hb=37157dad514b85d008cf8e01a889889d8869f02b;hp=ae4888566c74d9354f0f7042b49ee6515be2cb9e;hpb=87f63898b4ad54c081e8aaeb35e465b2fe23b9b3;p=vpp.git diff --git a/src/vcl/vppcom.h b/src/vcl/vppcom.h index ae4888566c7..08724cc31d8 100644 --- a/src/vcl/vppcom.h +++ b/src/vcl/vppcom.h @@ -42,6 +42,7 @@ extern "C" #define VPPCOM_ENV_APP_NAMESPACE_SECRET "VCL_APP_NAMESPACE_SECRET" #define VPPCOM_ENV_APP_SCOPE_LOCAL "VCL_APP_SCOPE_LOCAL" #define VPPCOM_ENV_APP_SCOPE_GLOBAL "VCL_APP_SCOPE_GLOBAL" +#define VPPCOM_ENV_APP_USE_MQ_EVENTFD "VCL_APP_USE_MQ_EVENTFD" #define VPPCOM_ENV_VPP_API_SOCKET "VCL_VPP_API_SOCKET" #define VPPCOM_ENV_VPP_SAPI_SOCKET "VCL_VPP_SAPI_SOCKET" @@ -53,6 +54,7 @@ extern "C" VPPCOM_PROTO_TLS, VPPCOM_PROTO_QUIC, VPPCOM_PROTO_DTLS, + VPPCOM_PROTO_SRTP, } vppcom_proto_t; typedef enum @@ -97,7 +99,11 @@ typedef enum VPPCOM_ECONNREFUSED = -ECONNREFUSED, VPPCOM_ETIMEDOUT = -ETIMEDOUT, VPPCOM_EEXIST = -EEXIST, - VPPCOM_ENOPROTOOPT = -ENOPROTOOPT + VPPCOM_ENOPROTOOPT = -ENOPROTOOPT, + VPPCOM_EPIPE = -EPIPE, + VPPCOM_ENOENT = -ENOENT, + VPPCOM_EADDRINUSE = -EADDRINUSE, + VPPCOM_ENOTSUP = -ENOTSUP } vppcom_error_t; typedef enum @@ -136,14 +142,13 @@ typedef enum VPPCOM_ATTR_SET_TCP_KEEPINTVL, VPPCOM_ATTR_GET_TCP_USER_MSS, VPPCOM_ATTR_SET_TCP_USER_MSS, - VPPCOM_ATTR_SET_SHUT, - VPPCOM_ATTR_GET_SHUT, VPPCOM_ATTR_SET_CONNECTED, VPPCOM_ATTR_SET_CKPAIR, VPPCOM_ATTR_SET_VRF, VPPCOM_ATTR_GET_VRF, VPPCOM_ATTR_GET_DOMAIN, VPPCOM_ATTR_SET_ENDPT_EXT_CFG, + VPPCOM_ATTR_SET_DSCP, } vppcom_attr_op_t; typedef struct _vcl_poll @@ -172,6 +177,7 @@ extern int vppcom_app_create (const char *app_name); extern void vppcom_app_destroy (void); extern int vppcom_session_create (uint8_t proto, uint8_t is_nonblocking); +extern int vppcom_session_shutdown (uint32_t session_handle, int how); extern int vppcom_session_close (uint32_t session_handle); extern int vppcom_session_bind (uint32_t session_handle, vppcom_endpt_t * ep); extern int vppcom_session_listen (uint32_t session_handle, uint32_t q_len); @@ -260,6 +266,21 @@ extern void vppcom_worker_index_set (int); */ extern int vppcom_worker_mqs_epfd (void); +/** + * Returns Session error + * + * Application can use this API to find the detailed session error + */ +extern int vppcom_session_get_error (uint32_t session_handle); + +/** + * Returns true if current worker is disconnected from vpp + * + * Application can use this API to check if VPP is disconnected + * as long as `use-mq-eventfd` is being set + */ +extern int vppcom_worker_is_detached (void); + /* *INDENT-OFF* */ #ifdef __cplusplus }