|
corosync
|
#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 <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 90 of file totemknet.c.
Definition at line 234 of file totemknet.c.
Definition at line 225 of file totemknet.c.
Definition at line 250 of file totemknet.c.
Definition at line 242 of file totemknet.c.
| #define MSG_NOSIGNAL 0 |
Definition at line 82 of file totemknet.c.
| #define OWN_INDEX_NONE -1 |
Definition at line 482 of file totemknet.c.
Definition at line 1402 of file totemknet.c.
References nodeid.
Definition at line 1408 of file totemknet.c.
References nodeid.
Definition at line 884 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 1800 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 388 of file totemknet.c.
Definition at line 658 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 1905 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 1469 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 1538 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 563 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 1133 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_config::ip_dscp, 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 1868 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 1442 of file totemknet.c.
References totemknet_instance::knet_context, and nodeid.
Definition at line 1455 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 1555 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 1740 of file totemknet.c.
| int totemknet_member_remove | ( | void * | knet_context, |
| const struct totem_ip_address * | token_target, | ||
| int | link_no | ||
| ) |
Definition at line 1694 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 1479 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 485 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 1413 of file totemknet.c.
| int totemknet_reconfigure | ( | void * | knet_context, |
| struct totem_config * | totem_config | ||
| ) |
Definition at line 1767 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 1420 of file totemknet.c.
Definition at line 1500 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 1425 of file totemknet.c.
Definition at line 1859 of file totemknet.c.
References totemknet_instance::knet_context, totemknet_instance::knet_handle, and nodeid.
Definition at line 1430 of file totemknet.c.
References totemknet_instance::knet_context, nodeid, and totemknet_instance::token_target.
Definition at line 1486 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 188 of file totemknet.c.
Referenced by totemknet_configure_log_level(), totemknet_handle_get_stats(), totemknet_initialize(), and totemknet_link_get_status().