vcl: move helper functions out of header file

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3889fd80b145cf80f76f6054d63247e76bdf20ff
This commit is contained in:
Florin Coras
2020-06-15 07:59:40 -07:00
committed by Dave Barach
parent 81355d74a4
commit 66ec467cda
4 changed files with 105 additions and 101 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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
*

View File

@ -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
*