OpenVPN
|
#include "syshead.h"
#include "multi.h"
#include "forward.h"
#include "mtcp.h"
#include "multi_io.h"
#include "memdbg.h"
Go to the source code of this file.
Data Structures | |
struct | ta_iow_flags |
Functions | |
struct multi_instance * | multi_create_instance_tcp (struct multi_context *m, struct link_socket *sock) |
bool | multi_tcp_instance_specific_init (struct multi_context *m, struct multi_instance *mi) |
void | multi_tcp_instance_specific_free (struct multi_instance *mi) |
void | multi_tcp_delete_event (struct multi_io *multi_io, event_t event) |
void | multi_tcp_dereference_instance (struct multi_io *multi_io, struct multi_instance *mi) |
bool | multi_tcp_process_outgoing_link_ready (struct multi_context *m, struct multi_instance *mi, const unsigned int mpp_flags) |
bool | multi_tcp_process_outgoing_link (struct multi_context *m, bool defer, const unsigned int mpp_flags) |
struct multi_instance * multi_create_instance_tcp | ( | struct multi_context * | m, |
struct link_socket * | sock | ||
) |
Definition at line 50 of file mtcp.c.
References ASSERT, D_MULTI_DEBUG, D_MULTI_LOW, multi_instance::did_real_hash, dmsg, gc, gc_free(), gc_new(), multi_instance::halt, multi_context::hash, hash_add_fast(), hash_lookup_fast(), hash_value(), link_socket::info, hash_element::key, mroute_addr_print(), msg, multi_assign_peer_id(), multi_close_instance(), multi_create_instance(), mroute_addr::proto, link_socket_info::proto, multi_instance::real, and hash_element::value.
Referenced by multi_io_process_io().
Definition at line 132 of file mtcp.c.
References multi_io::es, and event_del().
Referenced by management_delete_event().
void multi_tcp_dereference_instance | ( | struct multi_io * | multi_io, |
struct multi_instance * | mi | ||
) |
Definition at line 141 of file mtcp.c.
References context::c2, multi_instance::context, multi_io::es, event_del(), context_2::link_sockets, multi_io::n_esr, socket_event_handle(), and multi_instance::socket_set_called.
Referenced by multi_close_instance().
void multi_tcp_instance_specific_free | ( | struct multi_instance * | mi | ) |
Definition at line 126 of file mtcp.c.
References mbuf_free(), and multi_instance::tcp_link_out_deferred.
Referenced by multi_close_instance().
bool multi_tcp_instance_specific_init | ( | struct multi_context * | m, |
struct multi_instance * | mi | ||
) |
Definition at line 102 of file mtcp.c.
References link_socket_addr::actual, openvpn_sockaddr::addr, ASSERT, context::c2, multi_instance::context, D_MULTI_ERRORS, link_socket_actual::dest, link_socket::info, context_2::link_sockets, LS_MODE_TCP_ACCEPT_FROM, link_socket_info::lsa, mbuf_init(), link_socket::mode, mroute_extract_openvpn_sockaddr(), msg, options::n_bcast_buf, context::options, mroute_addr::proto, link_socket_info::proto, multi_instance::real, openvpn_sockaddr::sa, multi_instance::tcp_link_out_deferred, and multi_context::top.
Referenced by multi_create_instance().
bool multi_tcp_process_outgoing_link | ( | struct multi_context * | m, |
bool | defer, | ||
const unsigned int | mpp_flags | ||
) |
Definition at line 177 of file mtcp.c.
References BLEN, mbuf_buffer::buf, buf_reset(), mbuf_item::buffer, context::c2, clear_prefix(), multi_instance::context, D_MULTI_TCP, dmsg, mbuf_item::instance, mbuf_add_item(), mbuf_alloc_buf(), mbuf_defined(), mbuf_free_buf(), multi_process_outgoing_link_dowork(), multi_process_outgoing_link_pre(), multi_process_post(), set_prefix(), multi_instance::tcp_link_out_deferred, and context_2::to_link.
Referenced by multi_io_dispatch().
bool multi_tcp_process_outgoing_link_ready | ( | struct multi_context * | m, |
struct multi_instance * | mi, | ||
const unsigned int | mpp_flags | ||
) |
Definition at line 153 of file mtcp.c.
References ASSERT, mbuf_buffer::buf, mbuf_item::buffer, context::c2, multi_instance::context, D_MULTI_TCP, dmsg, mbuf_item::instance, mbuf_extract_item(), mbuf_free_buf(), multi_process_outgoing_link_dowork(), multi_instance::tcp_link_out_deferred, and context_2::to_link.
Referenced by multi_io_dispatch().