FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
tls_picotls.h
Go to the documentation of this file.
1 #ifndef __included_tls_picotls_h__
2 #define __included_tls_picotls_h__
3 
4 #include <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>
9 
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)
14 
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)
18 
19 #define TLS_WRITE_OFFSET(x) ((x)->write_buffer.base + (x)->write_buffer_offset)
20 #define TLS_WRITE_IS_LEFT(x) ((x)->write_buffer.off != 0 && (x)->write_buffer.off != (x)->write_buffer_offset)
21 
22 
23 typedef struct tls_ctx_picotls_
24 {
27  ptls_t *tls;
29  int rx_offset;
30  int rx_len;
31  ptls_buffer_t read_buffer;
32  ptls_buffer_t write_buffer;
33  uint8_t *write_content;
37 
39 {
41  ptls_context_t *ptls_ctx;
43 
44 typedef struct picotls_main_
45 {
48  ptls_context_t *client_ptls_ctx;
51 
52 #endif /* __included_quic_certs_h__ */
53 
54 /*
55  * fd.io coding-style-patch-verification: ON
56  *
57  * Local Variables:
58  * eval: (c-set-style "gnu")
59  * End:
60  */
picotls_listen_ctx_t
struct tls_listen_ctx_picotls_ picotls_listen_ctx_t
tls_ctx_picotls_::read_buffer_offset
int read_buffer_offset
Definition: tls_picotls.h:34
tls_ctx_picotls_::rx_content
u8 * rx_content
Definition: tls_picotls.h:28
tls_listen_ctx_picotls_::ptls_ctx
ptls_context_t * ptls_ctx
Definition: tls_picotls.h:41
picotls_ctx_t
struct tls_ctx_picotls_ picotls_ctx_t
tls_ctx_picotls_::write_buffer_offset
int write_buffer_offset
Definition: tls_picotls.h:35
picotls_main_::client_ptls_ctx
ptls_context_t * client_ptls_ctx
Definition: tls_picotls.h:48
tls_ctx_picotls_::tls
ptls_t * tls
Definition: tls_picotls.h:27
tls_ctx_picotls_::read_buffer
ptls_buffer_t read_buffer
Definition: tls_picotls.h:31
tls_ctx_
Definition: tls.h:59
tls_ctx_picotls_::ctx
tls_ctx_t ctx
Definition: tls_picotls.h:25
picotls_main_::crypto_keys_rw_lock
clib_rwlock_t crypto_keys_rw_lock
Definition: tls_picotls.h:49
clib_rw_lock_
Definition: lock.h:139
tls_ctx_picotls_
Definition: tls_picotls.h:23
plugin.h
tls_listen_ctx_picotls_::ptls_lctx_index
u32 ptls_lctx_index
Definition: tls_picotls.h:40
tls_ctx_picotls_::rx_len
int rx_len
Definition: tls_picotls.h:30
u32
unsigned int u32
Definition: types.h:88
picotls_main_t
struct picotls_main_ picotls_main_t
tls_listen_ctx_picotls_
Definition: tls_picotls.h:38
tls_ctx_picotls_::rx_offset
int rx_offset
Definition: tls_picotls.h:29
picotls_main_::ctx_pool
picotls_ctx_t *** ctx_pool
Definition: tls_picotls.h:46
tls_ctx_picotls_::write_buffer
ptls_buffer_t write_buffer
Definition: tls_picotls.h:32
tls.h
tls_ctx_picotls_::write_content
uint8_t * write_content
Definition: tls_picotls.h:33
picotls_main_::lctx_pool
picotls_listen_ctx_t * lctx_pool
Definition: tls_picotls.h:47
u8
unsigned char u8
Definition: types.h:56
picotls_main_
Definition: tls_picotls.h:44
tls_ctx_picotls_::ptls_ctx_idx
u32 ptls_ctx_idx
Definition: tls_picotls.h:26