VPPCOM_PROTO_SCTP,
VPPCOM_PROTO_NONE,
VPPCOM_PROTO_TLS,
- VPPCOM_PROTO_UDPC
+ VPPCOM_PROTO_UDPC,
+ VPPCOM_PROTO_QUIC,
} vppcom_proto_t;
static inline char *
case VPPCOM_PROTO_UDPC:
proto_str = "UDPC";
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 || proto == VPPCOM_PROTO_UDPC;
+}
+
typedef enum
{
VPPCOM_IS_IP6 = 0,
uint8_t is_ip4;
uint8_t *ip;
uint16_t port;
+ uint64_t transport_opts;
} vppcom_endpt_t;
typedef uint32_t vcl_session_handle_t;
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);
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