X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Ftlsopenssl%2Ftls_openssl.h;h=5744dcadb3a43e899bb666fa68cbb0cc423a42dc;hb=837826169fd51c1d2bb7703e479447f5d4ffa9a5;hp=b01814939af301ecb70490d92ac84e24287b7d00;hpb=e43832c7e77b8b008ab452386b143bb3f7f5be40;p=vpp.git diff --git a/src/plugins/tlsopenssl/tls_openssl.h b/src/plugins/tlsopenssl/tls_openssl.h index b01814939af..5744dcadb3a 100644 --- a/src/plugins/tlsopenssl/tls_openssl.h +++ b/src/plugins/tlsopenssl/tls_openssl.h @@ -29,35 +29,46 @@ typedef struct tls_ctx_openssl_ SSL *ssl; BIO *rbio; BIO *wbio; +} openssl_ctx_t; + +typedef struct tls_listen_ctx_opensl_ +{ + u32 openssl_lctx_index; + SSL_CTX *ssl_ctx; + SSL *ssl; X509 *srvcert; EVP_PKEY *pkey; -} openssl_ctx_t; +} openssl_listen_ctx_t; typedef struct openssl_main_ { openssl_ctx_t ***ctx_pool; + openssl_listen_ctx_t *lctx_pool; + + /* API message ID base */ + u16 msg_id_base; X509_STORE *cert_store; + u8 *ciphers; int engine_init; int async; } openssl_main_t; -typedef struct openssl_tls_callback_ -{ - int (*callback) (void *arg); - void *arg; -} openssl_tls_callback_t; - -typedef int openssl_resume_handler (tls_ctx_t * ctx, - stream_session_t * tls_session); +typedef int openssl_resume_handler (tls_ctx_t * ctx, session_t * tls_session); tls_ctx_t *openssl_ctx_get_w_thread (u32 ctx_index, u8 thread_index); -openssl_tls_callback_t *vpp_add_async_pending_event (tls_ctx_t * ctx, - openssl_resume_handler * - handler); +int vpp_tls_async_init_event (tls_ctx_t * ctx, + openssl_resume_handler * handler, + session_t * session); +int vpp_tls_async_update_event (tls_ctx_t * ctx, int eagain); +int tls_async_openssl_callback (SSL * s, void *evt); +int openssl_evt_free (int event_idx, u8 thread_index); void openssl_polling_start (ENGINE * engine); -int openssl_engine_register (char *engine, char *alg); +int openssl_engine_register (char *engine, char *alg, int async); void openssl_async_node_enable_disable (u8 is_en); +clib_error_t *tls_openssl_api_init (vlib_main_t * vm); +int tls_openssl_set_ciphers (char *ciphers); +int vpp_openssl_is_inflight (tls_ctx_t * ctx); /* * fd.io coding-style-patch-verification: ON