aboutsummaryrefslogtreecommitdiffstats
path: root/src/vcl/vppcom.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vcl/vppcom.h')
-rw-r--r--src/vcl/vppcom.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/vcl/vppcom.h b/src/vcl/vppcom.h
index 6dfdd267ac7..b05eae7150c 100644
--- a/src/vcl/vppcom.h
+++ b/src/vcl/vppcom.h
@@ -51,7 +51,8 @@ typedef enum
VPPCOM_PROTO_SCTP,
VPPCOM_PROTO_NONE,
VPPCOM_PROTO_TLS,
- VPPCOM_PROTO_UDPC
+ VPPCOM_PROTO_UDPC,
+ VPPCOM_PROTO_QUIC,
} vppcom_proto_t;
static inline char *
@@ -76,6 +77,9 @@ vppcom_proto_str (vppcom_proto_t proto)
case VPPCOM_PROTO_UDPC:
proto_str = "UDPC";
break;
+ case VPPCOM_PROTO_QUIC:
+ proto_str = "QUIC";
+ break;
default:
proto_str = "UNKNOWN";
break;
@@ -83,6 +87,12 @@ vppcom_proto_str (vppcom_proto_t proto)
return proto_str;
}
+static inline int
+vcl_proto_is_dgram (uint8_t proto)
+{
+ return proto == VPPCOM_PROTO_UDP || proto == VPPCOM_PROTO_UDPC;
+}
+
typedef enum
{
VPPCOM_IS_IP6 = 0,
@@ -95,6 +105,7 @@ typedef struct vppcom_endpt_t_
uint8_t is_ip4;
uint8_t *ip;
uint16_t port;
+ uint64_t transport_opts;
} vppcom_endpt_t;
typedef uint32_t vcl_session_handle_t;
@@ -254,6 +265,8 @@ extern int vppcom_session_accept (uint32_t session_handle,
extern int vppcom_session_connect (uint32_t session_handle,
vppcom_endpt_t * server_ep);
+extern int vppcom_session_stream_connect (uint32_t session_handle,
+ uint32_t parent_session_handle);
extern int vppcom_session_read (uint32_t session_handle, void *buf, size_t n);
extern int vppcom_session_write (uint32_t session_handle, void *buf,
size_t n);
@@ -294,6 +307,10 @@ extern int vppcom_session_tls_add_key (uint32_t session_handle, char *key,
uint32_t key_len);
extern int vppcom_data_segment_copy (void *buf, vppcom_data_segments_t ds,
uint32_t max_bytes);
+extern int vppcom_unformat_proto (uint8_t * proto, char *proto_str);
+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);
/**
* Request from application to register a new worker