corosync 3.1.9
totemknet.h File Reference
#include <sys/types.h>
#include <sys/socket.h>
#include <qb/qbloop.h>
#include <corosync/totem/totem.h>
Include dependency graph for totemknet.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int totemknet_initialize (qb_loop_t *poll_handle, void **knet_context, struct totem_config *totem_config, totemsrp_stats_t *stats, void *context, int(*deliver_fn)(void *context, const void *msg, unsigned int msg_len, const struct sockaddr_storage *system_from), int(*iface_change_fn)(void *context, const struct totem_ip_address *iface_address, unsigned int ring_no), void(*mtu_changed)(void *context, int net_mtu), void(*target_set_completed)(void *context))
 Create an instance.
 
void * totemknet_buffer_alloc (void)
 
void totemknet_buffer_release (void *ptr)
 
int totemknet_processor_count_set (void *knet_context, int processor_count)
 
int totemknet_token_send (void *knet_context, const void *msg, unsigned int msg_len)
 
int totemknet_mcast_flush_send (void *knet_context, const void *msg, unsigned int msg_len)
 
int totemknet_mcast_noflush_send (void *knet_context, const void *msg, unsigned int msg_len)
 
int totemknet_recv_flush (void *knet_context)
 
int totemknet_send_flush (void *knet_context)
 
int totemknet_iface_check (void *knet_context)
 
int totemknet_finalize (void *knet_context)
 
void totemknet_net_mtu_adjust (void *knet_context, struct totem_config *totem_config)
 
int totemknet_nodestatus_get (void *knet_context, unsigned int nodeid, struct totem_node_status *node_status)
 
int totemknet_ifaces_get (void *net_context, char ***status, unsigned int *iface_count)
 
int totemknet_iface_set (void *net_context, const struct totem_ip_address *local_addr, unsigned short ip_port, unsigned int iface_no)
 
int totemknet_token_target_set (void *knet_context, unsigned int nodeid)
 
int totemknet_crypto_set (void *knet_context, const char *cipher_type, const char *hash_type)
 
int totemknet_recv_mcast_empty (void *knet_context)
 
int totemknet_member_add (void *knet_context, const struct totem_ip_address *local, const struct totem_ip_address *member, int ring_no)
 
int totemknet_member_remove (void *knet_context, const struct totem_ip_address *member, int ring_no)
 
int totemknet_member_set_active (void *knet_context, const struct totem_ip_address *member_ip, int active)
 
int totemknet_reconfigure (void *knet_context, struct totem_config *totem_config)
 
int totemknet_crypto_reconfigure_phase (void *knet_context, struct totem_config *totem_config, cfg_message_crypto_reconfig_phase_t phase)
 
void totemknet_stats_clear (void *knet_context)
 
void totemknet_configure_log_level (void)
 

Function Documentation

◆ totemknet_buffer_alloc()

void * totemknet_buffer_alloc ( void )
extern

Definition at line 1411 of file totemknet.c.

◆ totemknet_buffer_release()

void totemknet_buffer_release ( void * ptr)
extern

Definition at line 1417 of file totemknet.c.

◆ totemknet_configure_log_level()

◆ totemknet_crypto_reconfigure_phase()

◆ totemknet_crypto_set()

int totemknet_crypto_set ( void * knet_context,
const char * cipher_type,
const char * hash_type )
extern

Definition at line 365 of file totemknet.c.

◆ totemknet_finalize()

◆ totemknet_iface_check()

int totemknet_iface_check ( void * knet_context)
extern

Definition at line 1478 of file totemknet.c.

References totemknet_instance::knet_context, and knet_log_printf.

◆ totemknet_iface_set()

int totemknet_iface_set ( void * net_context,
const struct totem_ip_address * local_addr,
unsigned short ip_port,
unsigned int iface_no )
extern

◆ totemknet_ifaces_get()

◆ totemknet_initialize()

int totemknet_initialize ( qb_loop_t * poll_handle,
void ** knet_context,
struct totem_config * totem_config,
totemsrp_stats_t * stats,
void * context,
int(* deliver_fn )(void *context, const void *msg, unsigned int msg_len, const struct sockaddr_storage *system_from),
int(* iface_change_fn )(void *context, const struct totem_ip_address *iface_address, unsigned int ring_no),
void(* mtu_changed )(void *context, int net_mtu),
void(* target_set_completed )(void *context) )
extern

Create an instance.

Definition at line 1152 of file totemknet.c.

References _logsys_subsys_create(), totem_interface::bindnet, totem_interface::boundto, CFG_INTERFACE_STATUS_MAX_LEN, totemknet_instance::context, totem_config::crypto_index, CS_OK, global_instance, icmap_get_string(), INTERFACE_MAX, totem_config::interfaces, totem_interface::ip_port, totemknet_instance::ip_port, totem_config::knet_compression_model, totemknet_instance::knet_context, totemknet_instance::knet_fd, totemknet_instance::knet_handle, knet_log_printf, KNET_LOGSYS_PERROR, totem_config::knet_mtu, totem_config::knet_pmtud_interval, totemknet_instance::knet_subsys_id, totem_config::link_mode, totemknet_instance::link_mode, totemknet_instance::link_status, totem_logging_configuration::log_level_debug, totem_logging_configuration::log_level_error, totem_logging_configuration::log_level_notice, totem_logging_configuration::log_level_warning, totem_logging_configuration::log_printf, totem_logging_configuration::log_subsys_id, totemknet_instance::logpipes, LOGSYS_LEVEL_CRIT, LOGSYS_LEVEL_INFO, LOGSYS_LEVEL_WARNING, totemknet_instance::loopback_link, totemknet_instance::my_ids, totem_config::node_id, totem_ip_address::nodeid, totemknet_instance::our_nodeid, totemknet_instance::poll_handle, stats_knet_add_handle(), totemknet_instance::timer_netif_check_timeout, totemknet_instance::totem_config, totem_config::totem_logging_configuration, totemip_copy(), totemknet_configure_log_level(), totemknet_instance::totemknet_deliver_fn, totemknet_instance::totemknet_iface_change_fn, totemknet_instance::totemknet_log_level_debug, totemknet_instance::totemknet_log_level_error, totemknet_instance::totemknet_log_level_notice, totemknet_instance::totemknet_log_level_security, totemknet_instance::totemknet_log_level_warning, totemknet_instance::totemknet_log_printf, totemknet_instance::totemknet_mtu_changed, totemknet_instance::totemknet_subsys_id, and totemknet_instance::totemknet_target_set_completed.

◆ totemknet_mcast_flush_send()

int totemknet_mcast_flush_send ( void * knet_context,
const void * msg,
unsigned int msg_len )
extern

Definition at line 1451 of file totemknet.c.

References totemknet_instance::knet_context.

◆ totemknet_mcast_noflush_send()

int totemknet_mcast_noflush_send ( void * knet_context,
const void * msg,
unsigned int msg_len )
extern

Definition at line 1464 of file totemknet.c.

References totemknet_instance::knet_context.

◆ totemknet_member_add()

◆ totemknet_member_remove()

◆ totemknet_member_set_active()

int totemknet_member_set_active ( void * knet_context,
const struct totem_ip_address * member_ip,
int active )
extern

◆ totemknet_net_mtu_adjust()

void totemknet_net_mtu_adjust ( void * knet_context,
struct totem_config * totem_config )
extern

◆ totemknet_nodestatus_get()

◆ totemknet_processor_count_set()

int totemknet_processor_count_set ( void * knet_context,
int processor_count )
extern

Definition at line 1422 of file totemknet.c.

◆ totemknet_reconfigure()

◆ totemknet_recv_flush()

int totemknet_recv_flush ( void * knet_context)
extern

Definition at line 1429 of file totemknet.c.

◆ totemknet_recv_mcast_empty()

int totemknet_recv_mcast_empty ( void * knet_context)
extern

◆ totemknet_send_flush()

int totemknet_send_flush ( void * knet_context)
extern

Definition at line 1434 of file totemknet.c.

◆ totemknet_stats_clear()

void totemknet_stats_clear ( void * knet_context)
extern

◆ totemknet_token_send()

int totemknet_token_send ( void * knet_context,
const void * msg,
unsigned int msg_len )
extern

◆ totemknet_token_target_set()

int totemknet_token_target_set ( void * knet_context,
unsigned int nodeid )
extern