X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fapplication.h;h=90b5a5a277ed8bc9bad59e59f6cf8723c37a817e;hb=07063b8ea;hp=9ec1055bbbcde946c35e2bd3c0cb1b2db4f08a70;hpb=458089bbad9cf5bef6cf8119f23fc44e66b36ad3;p=vpp.git diff --git a/src/vnet/session/application.h b/src/vnet/session/application.h index 9ec1055bbbc..90b5a5a277e 100644 --- a/src/vnet/session/application.h +++ b/src/vnet/session/application.h @@ -111,20 +111,12 @@ typedef struct application_ /** Pool of listeners for the app */ app_listener_t *listeners; - /* - * TLS & QUIC Specific - */ - - /** Certificate to be used for listen sessions */ - u8 *tls_cert; - - /** PEM encoded key */ - u8 *tls_key; - /** Preferred tls engine */ u8 tls_engine; - u64 *quicly_ctx; + /** quic initialization vector */ + char quic_iv[17]; + u8 quic_iv_set; } application_t; @@ -144,6 +136,16 @@ typedef struct app_main_ * Hash table of builtin apps by name */ uword *app_by_name; + + /** + * Pool from which we allocate certificates (key, cert) + */ + app_cert_key_pair_t *cert_key_pair_store; + + /* + * Last registered crypto engine type + */ + crypto_engine_type_t last_crypto_engine; } app_main_t; typedef struct app_init_args_ @@ -259,6 +261,9 @@ int app_worker_migrate_notify (app_worker_t * app_wrk, session_t * s, session_handle_t new_sh); int app_worker_builtin_rx (app_worker_t * app_wrk, session_t * s); int app_worker_builtin_tx (app_worker_t * app_wrk, session_t * s); +int app_worker_session_fifo_tuning (app_worker_t * app_wrk, session_t * s, + svm_fifo_t * f, + session_ft_action_t act, u32 len); segment_manager_t *app_worker_get_listen_segment_manager (app_worker_t *, session_t *); segment_manager_t *app_worker_get_connect_segment_manager (app_worker_t *); @@ -279,11 +284,16 @@ session_t *app_worker_proxy_listener (app_worker_t * app, u8 fib_proto, u8 transport_proto); u8 *format_app_worker (u8 * s, va_list * args); u8 *format_app_worker_listener (u8 * s, va_list * args); +u8 *format_crypto_engine (u8 * s, va_list * args); +u8 *format_crypto_context (u8 * s, va_list * args); void app_worker_format_connects (app_worker_t * app_wrk, int verbose); int vnet_app_worker_add_del (vnet_app_worker_add_del_args_t * a); uword unformat_application_proto (unformat_input_t * input, va_list * args); +app_cert_key_pair_t *app_cert_key_pair_get (u32 index); +app_cert_key_pair_t *app_cert_key_pair_get_if_valid (u32 index); +app_cert_key_pair_t *app_cert_key_pair_get_default (); /* Needed while we support both bapi and mq ctrl messages */ int mq_send_session_bound_cb (u32 app_wrk_index, u32 api_context, @@ -293,6 +303,9 @@ int mq_send_session_connected_cb (u32 app_wrk_index, u32 api_context, void mq_send_unlisten_reply (app_worker_t * app_wrk, session_handle_t sh, u32 context, int rv); +crypto_engine_type_t app_crypto_engine_type_add (void); +u8 app_crypto_engine_n_types (void); + #endif /* SRC_VNET_SESSION_APPLICATION_H_ */ /*