corosync 3.1.9
|
#include <config.h>
#include <assert.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <netdb.h>
#include <sys/un.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <netinet/in.h>
#include <net/ethernet.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <pthread.h>
#include <sched.h>
#include <time.h>
#include <sys/time.h>
#include <sys/poll.h>
#include <sys/uio.h>
#include <limits.h>
#include <qb/qbdefs.h>
#include <qb/qbloop.h>
#include <corosync/sq.h>
#include <corosync/swab.h>
#include <corosync/logsys.h>
#include <corosync/icmap.h>
#include <corosync/totem/totemip.h>
#include "totemknet.h"
#include "main.h"
#include "util.h"
#include <libknet.h>
#include <corosync/totem/totemstats.h>
Go to the source code of this file.
Data Structures | |
struct | totemknet_instance |
struct | work_item |
Macros | |
#define | MSG_NOSIGNAL 0 |
#define | CFG_INTERFACE_STATUS_MAX_LEN 512 |
#define | knet_log_printf_lock(level, subsys, function, file, line, format, args...) |
#define | knet_log_printf(level, format, args...) |
#define | libknet_log_printf(level, format, args...) |
#define | KNET_LOGSYS_PERROR(err_num, level, fmt, args...) |
#define | OWN_INDEX_NONE -1 |
Variables | |
struct totemknet_instance * | global_instance |
#define CFG_INTERFACE_STATUS_MAX_LEN 512 |
Definition at line 91 of file totemknet.c.
Definition at line 235 of file totemknet.c.
Definition at line 226 of file totemknet.c.
Definition at line 251 of file totemknet.c.
Definition at line 243 of file totemknet.c.
#define MSG_NOSIGNAL 0 |
Definition at line 83 of file totemknet.c.
#define OWN_INDEX_NONE -1 |
Definition at line 490 of file totemknet.c.
Definition at line 1411 of file totemknet.c.
References nodeid.
Definition at line 1417 of file totemknet.c.
References nodeid.
Definition at line 903 of file totemknet.c.
References global_instance, totemknet_instance::knet_handle, log_printf, logsys_config_debug_get(), LOGSYS_DEBUG_OFF, LOGSYS_DEBUG_ON, LOGSYS_DEBUG_TRACE, LOGSYS_LEVEL_DEBUG, LOGSYS_LEVEL_ERROR, and nodeid.
Referenced by totemknet_initialize().
int totemknet_crypto_reconfigure_phase | ( | void * | knet_context, |
struct totem_config * | totem_config, | ||
cfg_message_crypto_reconfig_phase_t | phase | ||
) |
Definition at line 1823 of file totemknet.c.
References totem_config::crypto_index, CRYPTO_RECONFIG_PHASE_ACTIVATE, CRYPTO_RECONFIG_PHASE_CLEANUP, totemknet_instance::knet_context, totemknet_instance::knet_handle, knet_log_printf, LOGSYS_LEVEL_DEBUG, LOGSYS_LEVEL_ERROR, and nodeid.
Definition at line 365 of file totemknet.c.
Definition at line 666 of file totemknet.c.
References CS_PRI_NODE_ID, totemknet_instance::knet_context, totemknet_instance::knet_fd, totemknet_instance::knet_handle, knet_log_printf, totemknet_instance::log_mutex, totemknet_instance::logpipes, LOGSYS_LEVEL_CRIT, LOGSYS_LEVEL_ERROR, nodeid, and totemknet_instance::poll_handle.
int totemknet_handle_get_stats | ( | struct knet_handle_stats * | stats | ) |
Definition at line 1928 of file totemknet.c.
References CS_ERR_NOT_EXIST, CS_OK, global_instance, totemknet_instance::knet_handle, nodeid, and qb_to_cs_error().
Referenced by stats_map_get().
Definition at line 1478 of file totemknet.c.
References totemknet_instance::knet_context, knet_log_printf, and nodeid.
int totemknet_iface_set | ( | void * | knet_context, |
const struct totem_ip_address * | local_addr, | ||
unsigned short | ip_port, | ||
unsigned int | iface_no | ||
) |
Definition at line 1561 of file totemknet.c.
References totemknet_instance::ip_port, totemknet_instance::knet_context, knet_log_printf, totemknet_instance::my_ids, nodeid, totemip_copy(), and totemip_print().
Definition at line 571 of file totemknet.c.
References CFG_INTERFACE_STATUS_MAX_LEN, totem_interface::configured, INTERFACE_MAX, totem_config::interfaces, totemknet_instance::knet_context, totemknet_instance::knet_handle, knet_log_printf, totemknet_instance::link_status, LOGSYS_LEVEL_ERROR, nodeid, totemknet_instance::our_nodeid, OWN_INDEX_NONE, and totemknet_instance::totem_config.
int totemknet_initialize | ( | qb_loop_t * | poll_handle, |
void ** | knet_context, | ||
struct totem_config * | totem_config, | ||
totemsrp_stats_t * | stats, | ||
void * | context, | ||
int(*)(void *context, const void *msg, unsigned int msg_len, const struct sockaddr_storage *system_from) | deliver_fn, | ||
int(*)(void *context, const struct totem_ip_address *iface_address, unsigned int link_no) | iface_change_fn, | ||
void(*)(void *context, int net_mtu) | mtu_changed, | ||
void(*)(void *context) | target_set_completed | ||
) |
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, totemknet_instance::ip_port, totem_interface::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, totemknet_instance::link_mode, totem_config::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, nodeid, 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.
int totemknet_link_get_status | ( | knet_node_id_t | node, |
uint8_t | link_no, | ||
struct knet_link_status * | status | ||
) |
Definition at line 1891 of file totemknet.c.
References CS_ERR_BUSY, CS_ERR_INVALID_PARAM, CS_ERR_LIBRARY, CS_ERR_NOT_EXIST, CS_ERR_TRY_AGAIN, CS_OK, global_instance, INTERFACE_MAX, totemknet_instance::knet_handle, and nodeid.
Referenced by stats_map_get().
Definition at line 1451 of file totemknet.c.
References totemknet_instance::knet_context, and nodeid.
Definition at line 1464 of file totemknet.c.
References totemknet_instance::knet_context, and nodeid.
int totemknet_member_add | ( | void * | knet_context, |
const struct totem_ip_address * | local, | ||
const struct totem_ip_address * | member, | ||
int | link_no | ||
) |
Definition at line 1578 of file totemknet.c.
References CS_PRI_NODE_ID, icmap_set_string(), totem_config::interfaces, totemknet_instance::ip_port, totemknet_instance::knet_context, totemknet_instance::knet_handle, totem_interface::knet_link_priority, knet_log_printf, KNET_LOGSYS_PERROR, totem_interface::knet_ping_interval, totem_interface::knet_ping_precision, totem_interface::knet_ping_timeout, totem_interface::knet_pong_count, totem_interface::knet_transport, totemknet_instance::link_mode, LOGSYS_LEVEL_DEBUG, LOGSYS_LEVEL_ERROR, totemknet_instance::loopback_link, nodeid, totem_ip_address::nodeid, totemknet_instance::our_nodeid, stats_knet_add_member(), totemknet_instance::totem_config, totemip_print(), and totemip_totemip_to_sockaddr_convert().
Definition at line 1763 of file totemknet.c.
int totemknet_member_remove | ( | void * | knet_context, |
const struct totem_ip_address * | token_target, | ||
int | link_no | ||
) |
Definition at line 1717 of file totemknet.c.
References CS_PRI_NODE_ID, totemknet_instance::knet_context, totemknet_instance::knet_handle, knet_log_printf, KNET_LOGSYS_PERROR, LOGSYS_LEVEL_DEBUG, LOGSYS_LEVEL_ERROR, nodeid, totem_ip_address::nodeid, totemknet_instance::our_nodeid, stats_knet_del_member(), and totemknet_instance::token_target.
|
extern |
Definition at line 1488 of file totemknet.c.
References totemknet_instance::knet_context, knet_log_printf, totem_config::net_mtu, and nodeid.
int totemknet_nodestatus_get | ( | void * | knet_context, |
unsigned int | nodeid, | ||
struct totem_node_status * | node_status | ||
) |
Definition at line 493 of file totemknet.c.
References totem_interface::configured, CS_ERR_INVALID_PARAM, CS_ERR_NOT_EXIST, totem_config::interfaces, totemknet_instance::knet_context, totemknet_instance::knet_handle, knet_log_printf, LOGSYS_LEVEL_WARNING, nodeid, and totemknet_instance::totem_config.
Definition at line 1422 of file totemknet.c.
int totemknet_reconfigure | ( | void * | knet_context, |
struct totem_config * | totem_config | ||
) |
Definition at line 1790 of file totemknet.c.
References totem_config::crypto_changed, totem_config::crypto_cipher_type, totem_config::crypto_hash_type, totem_config::crypto_index, totem_config::crypto_model, icmap_set_string(), totemknet_instance::knet_context, knet_log_printf, and nodeid.
Definition at line 1429 of file totemknet.c.
Definition at line 1509 of file totemknet.c.
References totemknet_instance::iov_buffer, totemknet_instance::knet_context, totemknet_instance::knet_fd, MSG_NOSIGNAL, nodeid, and system_from.
Definition at line 1434 of file totemknet.c.
Definition at line 1882 of file totemknet.c.
References totemknet_instance::knet_context, totemknet_instance::knet_handle, and nodeid.
Definition at line 1439 of file totemknet.c.
References totemknet_instance::knet_context, nodeid, and totemknet_instance::token_target.
Definition at line 1495 of file totemknet.c.
References totemknet_instance::context, totemknet_instance::knet_context, nodeid, totem_ip_address::nodeid, totemknet_instance::token_target, and totemknet_instance::totemknet_target_set_completed.
struct totemknet_instance* global_instance |
Definition at line 189 of file totemknet.c.
Referenced by totemknet_configure_log_level(), totemknet_handle_get_stats(), totemknet_initialize(), and totemknet_link_get_status().