From 66ec467cda9955a7d72f1ac0639e42909f4fdea7 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Mon, 15 Jun 2020 07:59:40 -0700 Subject: [PATCH] vcl: move helper functions out of header file Type: improvement Signed-off-by: Florin Coras Change-Id: I3889fd80b145cf80f76f6054d63247e76bdf20ff --- src/vcl/vcl_bapi.c | 5 ++- src/vcl/vcl_private.h | 8 +++- src/vcl/vppcom.c | 91 +++++++++++++++++++++++++++++++++++++++++++- src/vcl/vppcom.h | 102 +++----------------------------------------------- 4 files changed, 105 insertions(+), 101 deletions(-) diff --git a/src/vcl/vcl_bapi.c b/src/vcl/vcl_bapi.c index 4ec09089cd8..0e034fc097d 100644 --- a/src/vcl/vcl_bapi.c +++ b/src/vcl/vcl_bapi.c @@ -449,7 +449,7 @@ vppcom_init_error_string_table (void) } int -vppcom_connect_to_vpp (char *app_name) +vppcom_connect_to_vpp (const char *app_name) { vcl_worker_t *wrk = vcl_worker_get_current (); vppcom_cfg_t *vcl_cfg = &vcm->cfg; @@ -463,7 +463,8 @@ vppcom_connect_to_vpp (char *app_name) { if (vl_socket_client_connect2 (&wrk->bapi_sock_ctx, (char *) vcl_cfg->vpp_api_socket_name, - app_name, 0 /* default rx/tx buffer */ )) + (char *) app_name, + 0 /* default rx/tx buffer */ )) { VERR ("app (%s) socket connect failed!", app_name); return VPPCOM_ECONNREFUSED; diff --git a/src/vcl/vcl_private.h b/src/vcl/vcl_private.h index 593e63f3b09..4a739e64aff 100644 --- a/src/vcl/vcl_private.h +++ b/src/vcl/vcl_private.h @@ -587,6 +587,12 @@ vcl_ip_copy_to_ep (ip46_address_t * ip, vppcom_endpt_t * ep, u8 is_ip4) clib_memcpy_fast (ep->ip, &ip->ip6, sizeof (ip6_address_t)); } +static inline int +vcl_proto_is_dgram (uint8_t proto) +{ + return proto == VPPCOM_PROTO_UDP; +} + /* * Helpers */ @@ -652,7 +658,7 @@ void vcl_send_session_worker_update (vcl_worker_t * wrk, vcl_session_t * s, /* * VCL Binary API */ -int vppcom_connect_to_vpp (char *app_name); +int vppcom_connect_to_vpp (const char *app_name); void vppcom_disconnect_from_vpp (void); void vppcom_init_error_string_table (void); void vppcom_send_session_enable_disable (u8 is_enable); diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index c5c42add633..f3919499bb2 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -1162,7 +1162,7 @@ vppcom_app_exit (void) * VPPCOM Public API functions */ int -vppcom_app_create (char *app_name) +vppcom_app_create (const char *app_name) { vppcom_cfg_t *vcl_cfg = &vcm->cfg; int rv; @@ -3900,6 +3900,95 @@ vppcom_session_n_accepted (uint32_t session_handle) return session->n_accepted_sessions; } +const char * +vppcom_proto_str (vppcom_proto_t proto) +{ + char const *proto_str; + + switch (proto) + { + case VPPCOM_PROTO_TCP: + proto_str = "TCP"; + break; + case VPPCOM_PROTO_UDP: + proto_str = "UDP"; + break; + case VPPCOM_PROTO_TLS: + proto_str = "TLS"; + break; + case VPPCOM_PROTO_QUIC: + proto_str = "QUIC"; + break; + default: + proto_str = "UNKNOWN"; + break; + } + return proto_str; +} + +const char * +vppcom_retval_str (int retval) +{ + char const *st; + + switch (retval) + { + case VPPCOM_OK: + st = "VPPCOM_OK"; + break; + + case VPPCOM_EAGAIN: + st = "VPPCOM_EAGAIN"; + break; + + case VPPCOM_EFAULT: + st = "VPPCOM_EFAULT"; + break; + + case VPPCOM_ENOMEM: + st = "VPPCOM_ENOMEM"; + break; + + case VPPCOM_EINVAL: + st = "VPPCOM_EINVAL"; + break; + + case VPPCOM_EBADFD: + st = "VPPCOM_EBADFD"; + break; + + case VPPCOM_EAFNOSUPPORT: + st = "VPPCOM_EAFNOSUPPORT"; + break; + + case VPPCOM_ECONNABORTED: + st = "VPPCOM_ECONNABORTED"; + break; + + case VPPCOM_ECONNRESET: + st = "VPPCOM_ECONNRESET"; + break; + + case VPPCOM_ENOTCONN: + st = "VPPCOM_ENOTCONN"; + break; + + case VPPCOM_ECONNREFUSED: + st = "VPPCOM_ECONNREFUSED"; + break; + + case VPPCOM_ETIMEDOUT: + st = "VPPCOM_ETIMEDOUT"; + break; + + default: + st = "UNKNOWN_STATE"; + break; + } + + return st; +} + /* * fd.io coding-style-patch-verification: ON * diff --git a/src/vcl/vppcom.h b/src/vcl/vppcom.h index c61de372fca..61df64a6852 100644 --- a/src/vcl/vppcom.h +++ b/src/vcl/vppcom.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019 Cisco and/or its affiliates. + * Copyright (c) 2017-2020 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: @@ -54,38 +54,6 @@ typedef enum VPPCOM_PROTO_QUIC, } vppcom_proto_t; -static inline char * -vppcom_proto_str (vppcom_proto_t proto) -{ - char *proto_str; - - switch (proto) - { - case VPPCOM_PROTO_TCP: - proto_str = "TCP"; - break; - case VPPCOM_PROTO_UDP: - proto_str = "UDP"; - break; - case VPPCOM_PROTO_TLS: - proto_str = "TLS"; - break; - case VPPCOM_PROTO_QUIC: - proto_str = "QUIC"; - break; - default: - proto_str = "UNKNOWN"; - break; - } - return proto_str; -} - -static inline int -vcl_proto_is_dgram (uint8_t proto) -{ - return proto == VPPCOM_PROTO_UDP; -} - typedef enum { VPPCOM_IS_IP6 = 0, @@ -184,71 +152,8 @@ typedef unsigned long vcl_si_set; /* * VPPCOM Public API Functions */ -static inline const char * -vppcom_retval_str (int retval) -{ - char *st; - - switch (retval) - { - case VPPCOM_OK: - st = "VPPCOM_OK"; - break; - - case VPPCOM_EAGAIN: - st = "VPPCOM_EAGAIN"; - break; - - case VPPCOM_EFAULT: - st = "VPPCOM_EFAULT"; - break; - - case VPPCOM_ENOMEM: - st = "VPPCOM_ENOMEM"; - break; - case VPPCOM_EINVAL: - st = "VPPCOM_EINVAL"; - break; - - case VPPCOM_EBADFD: - st = "VPPCOM_EBADFD"; - break; - - case VPPCOM_EAFNOSUPPORT: - st = "VPPCOM_EAFNOSUPPORT"; - break; - - case VPPCOM_ECONNABORTED: - st = "VPPCOM_ECONNABORTED"; - break; - - case VPPCOM_ECONNRESET: - st = "VPPCOM_ECONNRESET"; - break; - - case VPPCOM_ENOTCONN: - st = "VPPCOM_ENOTCONN"; - break; - - case VPPCOM_ECONNREFUSED: - st = "VPPCOM_ECONNREFUSED"; - break; - - case VPPCOM_ETIMEDOUT: - st = "VPPCOM_ETIMEDOUT"; - break; - - default: - st = "UNKNOWN_STATE"; - break; - } - - return st; -} - -/* TBD: make these constructor/destructor function */ -extern int vppcom_app_create (char *app_name); +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); @@ -308,6 +213,9 @@ extern int vppcom_session_is_connectable_listener (uint32_t session_handle); extern int vppcom_session_listener (uint32_t session_handle); extern int vppcom_session_n_accepted (uint32_t session_handle); +extern const char *vppcom_proto_str (vppcom_proto_t proto); +extern const char *vppcom_retval_str (int retval); + /** * Request from application to register a new worker * -- 2.16.6