aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/quic/quic_crypto.h
diff options
context:
space:
mode:
authorMathiasRaoul <mathias.raoul@gmail.com>2020-01-09 14:50:53 +0000
committerDave Wallace <dwallacelf@gmail.com>2020-01-31 20:22:28 +0000
commit92de6b65be144c8108149c1a56327832edcd8ba6 (patch)
treeb0122f19055098243240ce5683aab6d1a9c94f61 /src/plugins/quic/quic_crypto.h
parent776644efe78f427a75fc5e122014b44b39d470c3 (diff)
quic: quicly crypto offloading
- Implement our own quic packet allocator to allocate more memory at the end of the packet to store crypto offloading related data - 1RTT packets offloading encryption/decryption using vnet crypto - Add cli to change max packet per key Type: feature Change-Id: I7557fd457d7ba492329d5d8ed192509cbd727f9c Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Diffstat (limited to 'src/plugins/quic/quic_crypto.h')
-rw-r--r--src/plugins/quic/quic_crypto.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/quic/quic_crypto.h b/src/plugins/quic/quic_crypto.h
index ff74fac4086..930b31b2cb4 100644
--- a/src/plugins/quic/quic_crypto.h
+++ b/src/plugins/quic/quic_crypto.h
@@ -18,11 +18,29 @@
#include <quicly.h>
+struct quic_ctx_t;
+struct quic_rx_packet_ctx_t;
+struct quic_crypto_batch_ctx_t;
+
extern ptls_cipher_suite_t *quic_crypto_cipher_suites[];
int quic_encrypt_ticket_cb (ptls_encrypt_ticket_t * _self, ptls_t * tls,
int is_encrypt, ptls_buffer_t * dst,
ptls_iovec_t src);
+void quic_crypto_decrypt_packet (quic_ctx_t * qctx,
+ quic_rx_packet_ctx_t * pctx);
+void quic_crypto_batch_tx_packets (quic_crypto_batch_ctx_t * batch_ctx);
+void quic_crypto_batch_rx_packets (quic_crypto_batch_ctx_t * batch_ctx);
+void quic_crypto_finalize_send_packet (quicly_datagram_t * packet);
+
+void
+quic_crypto_finalize_send_packet_cb (struct st_quicly_crypto_engine_t *engine,
+ quicly_conn_t * conn,
+ ptls_cipher_context_t * hp,
+ ptls_aead_context_t * aead,
+ quicly_datagram_t * packet,
+ size_t first_byte_at,
+ size_t payload_from, int coalesced);
#endif /* __included_vpp_quic_crypto_h__ */