aboutsummaryrefslogtreecommitdiffstats
path: root/src/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'src/vcl')
-rw-r--r--src/vcl/vcl_bapi.c5
-rw-r--r--src/vcl/vcl_private.h8
-rw-r--r--src/vcl/vppcom.c91
-rw-r--r--src/vcl/vppcom.h102
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
*