{
VPPCOM_PROTO_TCP = 0,
VPPCOM_PROTO_UDP,
+ VPPCOM_PROTO_SCTP,
+ VPPCOM_PROTO_NONE,
+ VPPCOM_PROTO_TLS,
+ VPPCOM_PROTO_UDPC
} vppcom_proto_t;
static inline char *
switch (proto)
{
case VPPCOM_PROTO_TCP:
- proto_str = "VPPCOM_PROTO_TCP";
+ proto_str = "TCP";
break;
case VPPCOM_PROTO_UDP:
- proto_str = "VPPCOM_PROTO_UDP";
+ proto_str = "UDP";
+ break;
+ case VPPCOM_PROTO_SCTP:
+ proto_str = "SCTP";
+ break;
+ case VPPCOM_PROTO_TLS:
+ proto_str = "TLS";
+ break;
+ case VPPCOM_PROTO_UDPC:
+ proto_str = "UDPC";
break;
default:
proto_str = "UNKNOWN";
uint16_t port;
} vppcom_endpt_t;
+typedef uint32_t vcl_session_handle_t;
+
typedef enum
{
VPPCOM_OK = 0,
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);
+extern int vppcom_session_write_msg (uint32_t session_handle, void *buf,
+ size_t n);
extern int vppcom_select (unsigned long n_bits,
unsigned long *read_map,
extern int vppcom_poll (vcl_poll_t * vp, uint32_t n_sids,
double wait_for_time);
extern int vppcom_mq_epoll_fd (void);
-extern int vppcom_session_index (uint32_t session_handle);
+extern int vppcom_session_index (vcl_session_handle_t session_handle);
+extern int vppcom_session_worker (vcl_session_handle_t session_handle);
extern int vppcom_session_handle (uint32_t session_index);
extern int vppcom_session_read_segments (uint32_t session_handle,
vppcom_data_segments_t ds);
extern void vppcom_session_free_segments (uint32_t session_handle,
vppcom_data_segments_t ds);
+extern int vppcom_session_tls_add_cert (uint32_t session_handle, char *cert,
+ uint32_t cert_len);
+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);