corosync 3.1.7
|
#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 233 of file totemknet.c.
Definition at line 224 of file totemknet.c.
Definition at line 249 of file totemknet.c.
Definition at line 241 of file totemknet.c.
#define MSG_NOSIGNAL 0 |
Definition at line 83 of file totemknet.c.
#define OWN_INDEX_NONE -1 |
Definition at line 488 of file totemknet.c.
Definition at line 1358 of file totemknet.c.
References nodeid.
Definition at line 1364 of file totemknet.c.
References nodeid.
Definition at line 888 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, 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 1750 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 363 of file totemknet.c.
Definition at line 664 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 1855 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 1425 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 1508 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 569 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, | ||
void(*)(void *context, const void *msg, unsigned int msg_len, const struct sockaddr_storage *system_from) | deliver_fn, | ||
void(*)(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 1099 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 1818 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 1398 of file totemknet.c.
References totemknet_instance::knet_context, and nodeid.
Definition at line 1411 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 1525 of file totemknet.c.
References CS_PRI_NODE_ID, 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 1693 of file totemknet.c.
int totemknet_member_remove | ( | void * | knet_context, |
const struct totem_ip_address * | token_target, | ||
int | link_no | ||
) |
Definition at line 1647 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 1435 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 491 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 1369 of file totemknet.c.
int totemknet_reconfigure | ( | void * | knet_context, |
struct totem_config * | totem_config | ||
) |
Definition at line 1720 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, totemknet_instance::knet_context, knet_log_printf, and nodeid.
Definition at line 1376 of file totemknet.c.
Definition at line 1456 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 1381 of file totemknet.c.
Definition at line 1809 of file totemknet.c.
References totemknet_instance::knet_context, totemknet_instance::knet_handle, and nodeid.
Definition at line 1386 of file totemknet.c.
References totemknet_instance::knet_context, nodeid, and totemknet_instance::token_target.
Definition at line 1442 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 187 of file totemknet.c.
Referenced by totemknet_configure_log_level(), totemknet_handle_get_stats(), totemknet_initialize(), and totemknet_link_get_status().