1 #ifndef __included_tls_picotls_h__
2 #define __included_tls_picotls_h__
5 #include <picotls/openssl.h>
6 #include <vnet/plugin/plugin.h>
7 #include <vnet/tls/tls.h>
8 #include <vpp/app/version.h>
10 #define TLS_RX_LEN(x) ((x)->rx_content + (x)->rx_len)
11 #define TLS_RX_OFFSET(x) ((x)->rx_content + (x)->rx_offset)
12 #define TLS_RX_IS_LEFT(x) ((x)->rx_len != 0 && (x)->rx_len != (x)->rx_offset)
13 #define TLS_RX_LEFT_LEN(x) ((x)->rx_len - (x)->rx_offset)
15 #define TLS_READ_OFFSET(x) ((x)->read_buffer.base + (x)->read_buffer_offset)
16 #define TLS_READ_IS_LEFT(x) ((x)->read_buffer.off != 0 && (x)->read_buffer.off != (x)->read_buffer_offset)
17 #define TLS_READ_LEFT_LEN(x) ((x)->read_buffer.off - (x)->read_buffer_offset)
19 #define TLSP_MIN_ENQ_SPACE (1 << 16)
21 typedef struct tls_ctx_picotls_
29 ptls_buffer_t read_buffer;
30 int read_buffer_offset;
33 typedef struct tls_listen_ctx_picotls_
36 ptls_context_t *ptls_ctx;
37 } picotls_listen_ctx_t;
39 typedef struct picotls_main_
41 picotls_ctx_t ***ctx_pool;
42 picotls_listen_ctx_t *lctx_pool;
45 ptls_context_t *client_ptls_ctx;
46 clib_rwlock_t crypto_keys_rw_lock;
49 #endif /* __included_quic_certs_h__ */
52 * fd.io coding-style-patch-verification: ON
55 * eval: (c-set-style "gnu")