corosync 3.1.9
|
#include <config.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/param.h>
#include <sys/utsname.h>
#include <corosync/swab.h>
#include <qb/qblist.h>
#include <qb/qbdefs.h>
#include <libknet.h>
#include <corosync/totem/totem.h>
#include <corosync/logsys.h>
#include <corosync/icmap.h>
#include "util.h"
#include "totemconfig.h"
Go to the source code of this file.
Macros | |
#define | TOKEN_RETRANSMITS_BEFORE_LOSS_CONST 4 |
#define | TOKEN_TIMEOUT 3000 |
#define | TOKEN_WARNING 75 |
#define | TOKEN_COEFFICIENT 650 |
#define | JOIN_TIMEOUT 50 |
#define | MERGE_TIMEOUT 200 |
#define | DOWNCHECK_TIMEOUT 1000 |
#define | FAIL_TO_RECV_CONST 2500 |
#define | SEQNO_UNCHANGED_CONST 30 |
#define | MINIMUM_TIMEOUT (int)(1000/HZ)*3 |
#define | MINIMUM_TIMEOUT_HOLD (int)(MINIMUM_TIMEOUT * 0.8 - (1000/HZ)) |
#define | MAX_NETWORK_DELAY 50 |
#define | WINDOW_SIZE 50 |
#define | MAX_MESSAGES 17 |
#define | MISS_COUNT_CONST 5 |
#define | BLOCK_UNLISTED_IPS 1 |
#define | CANCEL_TOKEN_HOLD_ON_RETRANSMIT 0 |
#define | UDP_NETMTU 1500 |
#define | KNET_PING_INTERVAL 1000 |
#define | KNET_PING_TIMEOUT 2000 |
#define | KNET_PING_PRECISION 2048 |
#define | KNET_PONG_COUNT 2 |
#define | KNET_PMTUD_INTERVAL 30 |
#define | KNET_MTU 0 |
#define | KNET_DEFAULT_TRANSPORT KNET_TRANSPORT_UDP |
#define | DEFAULT_PORT 5405 |
#define BLOCK_UNLISTED_IPS 1 |
Definition at line 83 of file totemconfig.c.
#define CANCEL_TOKEN_HOLD_ON_RETRANSMIT 0 |
Definition at line 84 of file totemconfig.c.
#define DEFAULT_PORT 5405 |
Definition at line 97 of file totemconfig.c.
#define DOWNCHECK_TIMEOUT 1000 |
Definition at line 74 of file totemconfig.c.
#define FAIL_TO_RECV_CONST 2500 |
Definition at line 75 of file totemconfig.c.
#define JOIN_TIMEOUT 50 |
Definition at line 72 of file totemconfig.c.
#define KNET_DEFAULT_TRANSPORT KNET_TRANSPORT_UDP |
Definition at line 95 of file totemconfig.c.
#define KNET_MTU 0 |
Definition at line 94 of file totemconfig.c.
#define KNET_PING_INTERVAL 1000 |
Definition at line 89 of file totemconfig.c.
#define KNET_PING_PRECISION 2048 |
Definition at line 91 of file totemconfig.c.
#define KNET_PING_TIMEOUT 2000 |
Definition at line 90 of file totemconfig.c.
#define KNET_PMTUD_INTERVAL 30 |
Definition at line 93 of file totemconfig.c.
#define KNET_PONG_COUNT 2 |
Definition at line 92 of file totemconfig.c.
#define MAX_MESSAGES 17 |
Definition at line 81 of file totemconfig.c.
#define MAX_NETWORK_DELAY 50 |
Definition at line 79 of file totemconfig.c.
#define MERGE_TIMEOUT 200 |
Definition at line 73 of file totemconfig.c.
Definition at line 77 of file totemconfig.c.
#define MINIMUM_TIMEOUT_HOLD (int)(MINIMUM_TIMEOUT * 0.8 - (1000/HZ)) |
Definition at line 78 of file totemconfig.c.
#define MISS_COUNT_CONST 5 |
Definition at line 82 of file totemconfig.c.
#define SEQNO_UNCHANGED_CONST 30 |
Definition at line 76 of file totemconfig.c.
#define TOKEN_COEFFICIENT 650 |
Definition at line 71 of file totemconfig.c.
#define TOKEN_RETRANSMITS_BEFORE_LOSS_CONST 4 |
Definition at line 68 of file totemconfig.c.
#define TOKEN_TIMEOUT 3000 |
Definition at line 69 of file totemconfig.c.
#define TOKEN_WARNING 75 |
Definition at line 70 of file totemconfig.c.
#define UDP_NETMTU 1500 |
Definition at line 86 of file totemconfig.c.
#define WINDOW_SIZE 50 |
Definition at line 80 of file totemconfig.c.
int totem_config_keyread | ( | struct totem_config * | totem_config, |
icmap_map_t | map, | ||
const char ** | error_string | ||
) |
Definition at line 2221 of file totemconfig.c.
References COROSYSCONFDIR, totem_config::crypto_changed, totem_config::crypto_cipher_type, totem_config::crypto_hash_type, CS_OK, icmap_get_r(), icmap_get_string_r(), nodeid, totem_config::private_key, totem_config::private_key_len, TOTEM_PRIVATE_KEY_LEN_MAX, and TOTEM_PRIVATE_KEY_LEN_MIN.
Referenced by totem_config_read(), and totem_reread_crypto_config().
|
extern |
Definition at line 1788 of file totemconfig.c.
References totem_config::broadcast_use, totem_config::clear_node_high_bit, totem_interface::configured, totem_config::crypto_changed, totem_config::crypto_index, CS_OK, icmap_get_global_map(), icmap_get_string(), icmap_get_uint16(), icmap_get_uint32(), ICMAP_KEYNAME_MAXLEN, icmap_set_ro_access(), icmap_set_string(), icmap_set_uint16(), INTERFACE_MAX, totem_config::interfaces, totem_interface::ip_port, totem_config::ip_version, totem_config::link_mode, totem_interface::mcast_addr, totem_interface::member_list, totem_config::net_mtu, totem_config::node_id, nodeid, totem_ip_address::nodeid, totem_config::threads, TOTEM_CONFIG_BINDNETADDR_NODELIST_SET, totem_config_keyread(), TOTEM_CONFIG_WARNING_TOTEM_NODEID_SET, TOTEM_IP_VERSION_4, TOTEM_LINK_MODE_BYTES, TOTEM_TRANSPORT_KNET, TOTEM_TRANSPORT_UDP, TOTEM_TRANSPORT_UDPU, totem_volatile_config_read(), totemip_parse(), totemip_print(), totem_config::transport_number, and totem_config::version.
Referenced by main().
int totem_config_validate | ( | struct totem_config * | totem_config, |
const char ** | error_string | ||
) |
Definition at line 2005 of file totemconfig.c.
References totem_interface::bindnet, totem_config::broadcast_use, totem_interface::configured, totem_config::crypto_cipher_type, totem_config::crypto_hash_type, CS_OK, totem_ip_address::family, icmap_get_global_map(), icmap_get_uint32(), INTERFACE_MAX, totem_config::interfaces, totem_interface::ip_port, totem_interface::knet_link_priority, totem_config::link_mode, totem_interface::mcast_addr, totem_config::net_mtu, totem_config::node_id, nodeid, TOTEM_TRANSPORT_KNET, TOTEM_TRANSPORT_UDP, totem_volatile_config_validate(), totemip_is_mcast(), totem_config::transport_number, totem_interface::ttl, UDP_NETMTU, and totem_config::version.
Referenced by main().
int totem_reread_crypto_config | ( | struct totem_config * | totem_config, |
icmap_map_t | map, | ||
const char ** | error_string | ||
) |
Definition at line 2293 of file totemconfig.c.
References nodeid, and totem_config_keyread().
void totem_volatile_config_read | ( | struct totem_config * | totem_config, |
icmap_map_t | temp_map, | ||
const char * | deleted_key | ||
) |
Definition at line 311 of file totemconfig.c.
References BLOCK_UNLISTED_IPS, CANCEL_TOKEN_HOLD_ON_RETRANSMIT, DOWNCHECK_TIMEOUT, FAIL_TO_RECV_CONST, icmap_get_uint32_r(), icmap_set_uint32_r(), totem_config::interfaces, JOIN_TIMEOUT, KNET_MTU, KNET_PMTUD_INTERVAL, MAX_MESSAGES, MAX_NETWORK_DELAY, totem_interface::member_count, MERGE_TIMEOUT, MISS_COUNT_CONST, nodeid, SEQNO_UNCHANGED_CONST, TOKEN_COEFFICIENT, totem_config::token_retransmit_timeout, TOKEN_RETRANSMITS_BEFORE_LOSS_CONST, totem_config::token_retransmits_before_loss_const, TOKEN_TIMEOUT, totem_config::token_timeout, TOKEN_WARNING, and WINDOW_SIZE.
Referenced by totem_config_read().
int totem_volatile_config_validate | ( | struct totem_config * | totem_config, |
icmap_map_t | temp_map, | ||
const char ** | error_string | ||
) |
Definition at line 380 of file totemconfig.c.
References totem_interface::configured, totem_config::consensus_timeout, CS_OK, totem_config::downcheck_timeout, totem_ip_address::family, icmap_get_string_r(), icmap_get_uint32_r(), ICMAP_KEYNAME_MAXLEN, INTERFACE_MAX, totem_config::interfaces, totem_config::join_timeout, totem_config::max_network_delay, totem_interface::member_count, totem_interface::member_list, totem_config::merge_timeout, MINIMUM_TIMEOUT, MINIMUM_TIMEOUT_HOLD, nodeid, totem_config::token_hold_timeout, totem_config::token_retransmit_timeout, totem_config::token_timeout, totem_config::token_warning, and totemip_print().
Referenced by totem_config_validate().
int totemconfig_commit_new_params | ( | struct totem_config * | totem_config, |
icmap_map_t | map | ||
) |
Definition at line 2421 of file totemconfig.c.
References INTERFACE_MAX, totem_config::interfaces, nodeid, totem_config::orig_interfaces, and totempg_reconfigure().
Referenced by main_iface_change_fn().
int totemconfig_configure_new_params | ( | struct totem_config * | totem_config, |
icmap_map_t | map, | ||
const char ** | error_string | ||
) |
Definition at line 2398 of file totemconfig.c.
References log_printf, LOGSYS_LEVEL_DEBUG, and nodeid.