FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
quic_crypto.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef __included_vpp_quic_crypto_h__
17 #define __included_vpp_quic_crypto_h__
18 
19 #include <quicly.h>
20 
21 struct quic_ctx_t;
24 
25 extern ptls_cipher_suite_t *quic_crypto_cipher_suites[];
26 
27 int quic_encrypt_ticket_cb (ptls_encrypt_ticket_t * _self, ptls_t * tls,
28  int is_encrypt, ptls_buffer_t * dst,
29  ptls_iovec_t src);
31  quic_rx_packet_ctx_t * pctx);
34 void quic_crypto_finalize_send_packet (quicly_datagram_t * packet);
35 
36 void
37 quic_crypto_finalize_send_packet_cb (struct st_quicly_crypto_engine_t *engine,
38  quicly_conn_t * conn,
39  ptls_cipher_context_t * hp,
40  ptls_aead_context_t * aead,
41  quicly_datagram_t * packet,
42  size_t first_byte_at,
43  size_t payload_from, int coalesced);
44 
45 #endif /* __included_vpp_quic_crypto_h__ */
46 
47 /*
48  * fd.io coding-style-patch-verification: ON
49  *
50  * Local Variables:
51  * eval: (c-set-style "gnu")
52  * End:
53  */
vl_api_address_t src
Definition: gre.api:54
void quic_crypto_batch_rx_packets(quic_crypto_batch_ctx_t *batch_ctx)
Definition: quic_crypto.c:75
void quic_crypto_finalize_send_packet(quicly_datagram_t *packet)
Definition: quic_crypto.c:137
void quic_crypto_batch_tx_packets(quic_crypto_batch_ctx_t *batch_ctx)
Definition: quic_crypto.c:56
vl_api_address_t dst
Definition: gre.api:55
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)
Definition: quic_crypto.c:224
ptls_cipher_suite_t * quic_crypto_cipher_suites[]
Definition: quic_crypto.c:716
void quic_crypto_decrypt_packet(quic_ctx_t *qctx, quic_rx_packet_ctx_t *pctx)
Definition: quic_crypto.c:244
int quic_encrypt_ticket_cb(ptls_encrypt_ticket_t *_self, ptls_t *tls, int is_encrypt, ptls_buffer_t *dst, ptls_iovec_t src)
Definition: quic_crypto.c:725