diff options
author | MathiasRaoul <mathias.raoul@gmail.com> | 2020-01-09 14:50:53 +0000 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2020-01-31 20:22:28 +0000 |
commit | 92de6b65be144c8108149c1a56327832edcd8ba6 (patch) | |
tree | b0122f19055098243240ce5683aab6d1a9c94f61 /src/plugins/quic/quic_crypto.h | |
parent | 776644efe78f427a75fc5e122014b44b39d470c3 (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.h | 18 |
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__ */ |