|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
16 #include <openssl/bio.h>
17 #include <openssl/err.h>
31 BIO_set_init (bio, 0);
32 BIO_set_data (bio, 0);
33 BIO_set_flags (bio, 0);
34 BIO_set_shutdown (bio, 0);
44 if (BIO_get_shutdown (bio))
46 if (BIO_get_init (bio))
48 BIO_set_init (bio, 0);
49 BIO_set_flags (bio, 0);
77 BIO_set_retry_read (
b);
85 BIO_clear_retry_flags (
b);
115 BIO_set_retry_read (
b);
120 BIO_clear_retry_flags (
b);
161 case BIO_CTRL_GET_CLOSE:
162 ret = BIO_get_shutdown (
b);
164 case BIO_CTRL_SET_CLOSE:
165 BIO_set_shutdown (
b, (
int) larg);
167 case BIO_CTRL_PENDING:
168 case BIO_CTRL_WPENDING:
175 case BIO_CTRL_DGRAM_QUERY_MTU:
178 case BIO_CTRL_DGRAM_SET_MTU:
181 case BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT:
184 case BIO_CTRL_DGRAM_GET_MTU_OVERHEAD:
197 static BIO_METHOD *dtls_bio_method;
200 if (!dtls_bio_method)
202 dtls_bio_method = BIO_meth_new (BIO_TYPE_SOCKET,
"dtls_bio");
210 b = BIO_new (dtls_bio_method);
static void svm_fifo_unset_event(svm_fifo_t *f)
Unset fifo event flag.
void session_close(session_t *s)
Initialize session closing procedure.
static uword pointer_to_uword(const void *p)
static int bio_dtls_write(BIO *b, const char *in, int inl)
static u16 dtls_dgram_mss(BIO *b)
u8 thread_index
Index of the thread that allocated the session.
session_type_t session_type
Type built from transport and network protocol types.
static int app_recv_dgram_raw(svm_fifo_t *f, u8 *buf, u32 len, app_session_transport_t *at, u8 clear_evt, u8 peek)
static int bio_dtls_read(BIO *b, char *out, int outl)
static int bio_dtls_alloc(BIO *bio)
svm_fifo_t * rx_fifo
Pointers to rx/tx buffers.
transport_connection_t * session_get_transport(session_t *s)
static int svm_fifo_is_empty_cons(svm_fifo_t *f)
Check if fifo is empty optimized for consumer.
static svm_msg_q_t * session_main_get_vpp_event_queue(u32 thread_index)
static u32 transport_connection_snd_params(transport_connection_t *tc, transport_send_params_t *sp)
Get send parameters for transport connection.
static u8 session_type_is_ip4(session_type_t st)
static session_t * session_get_from_handle(session_handle_t handle)
static int app_send_dgram_raw(svm_fifo_t *f, app_session_transport_t *at, svm_msg_q_t *vpp_evt_q, u8 *data, u32 len, u8 evt_type, u8 do_evt, u8 noblock)
BIO * BIO_new_dtls(session_handle_t sh)
long bio_dtls_ctrl(BIO *b, int cmd, long larg, void *parg)
static int dtls_dgram_overhead(BIO *b)
#define uword_to_pointer(u, type)
#define clib_warning(format, args...)
static session_t * bio_session(BIO *bio)
static int bio_dtls_free(BIO *bio)