aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/quic/quic.h
diff options
context:
space:
mode:
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>2019-07-31 15:51:04 +0200
committerFlorin Coras <florin.coras@gmail.com>2019-08-01 15:34:24 +0000
commit797848d42adec70055f2be704eee8fc86b5750ff (patch)
tree3c82162932e9be73b34c7985da47cd70fa599daf /src/plugins/quic/quic.h
parent1ff56f00ca015e82ef29955986e503913d1c3b86 (diff)
quic: Improve quicly_ctx handling & crypto ctx
Type: fix Change-Id: I898de67c017c3a45bed123d81041b32b43f749d0 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Diffstat (limited to 'src/plugins/quic/quic.h')
-rw-r--r--src/plugins/quic/quic.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/plugins/quic/quic.h b/src/plugins/quic/quic.h
index a7ce4dd57ad..f44bae29c47 100644
--- a/src/plugins/quic/quic.h
+++ b/src/plugins/quic/quic.h
@@ -124,6 +124,19 @@ STATIC_ASSERT (offsetof (quic_ctx_t, _sctx_end_marker) <=
TRANSPORT_CONN_ID_LEN,
"connection data must be less than TRANSPORT_CONN_ID_LEN bytes");
+typedef enum quic_crypto_engine_
+{
+ CRYPTO_ENGINE_VPP,
+ CRYPTO_ENGINE_PICOTLS,
+} quic_crypto_engine_t;
+
+/* single-entry session cache */
+typedef struct quic_session_cache_
+{
+ ptls_encrypt_ticket_t super;
+ uint8_t id[32];
+ ptls_iovec_t data;
+} quic_session_cache_t;
typedef struct quic_stream_data_
{
@@ -148,6 +161,10 @@ typedef struct quic_main_
clib_bihash_16_8_t connection_hash; /* quicly connection id -> conn handle */
f64 tstamp_ticks_per_clock;
+ ptls_cipher_suite_t ***quic_ciphers; /* available ciphers by crypto engine */
+ u8 default_cipher;
+ quic_session_cache_t session_cache;
+
/*
* Config
*/