corosync 3.1.9
|
#include <config.h>
#include <assert.h>
#include <pthread.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 <sched.h>
#include <time.h>
#include <sys/time.h>
#include <sys/poll.h>
#include <sys/uio.h>
#include <limits.h>
#include <corosync/sq.h>
#include <corosync/swab.h>
#include <qb/qbdefs.h>
#include <qb/qbloop.h>
#include <corosync/logsys.h>
#include "totemudp.h"
#include "util.h"
Go to the source code of this file.
Data Structures | |
struct | totemudp_member |
struct | totemudp_socket |
struct | totemudp_instance |
struct | work_item |
Macros | |
#define | LOGSYS_UTILS_ONLY 1 |
#define | MSG_NOSIGNAL 0 |
#define | MCAST_SOCKET_BUFFER_SIZE (TRANSMITS_ALLOWED * FRAME_SIZE_MAX) |
#define | NETIF_STATE_REPORT_UP 1 |
#define | NETIF_STATE_REPORT_DOWN 2 |
#define | BIND_STATE_UNBOUND 0 |
#define | BIND_STATE_REGULAR 1 |
#define | BIND_STATE_LOOPBACK 2 |
#define | log_printf(level, format, args...) |
#define | LOGSYS_PERROR(err_num, level, fmt, args...) |
#define BIND_STATE_LOOPBACK 2 |
Definition at line 82 of file totemudp.c.
#define BIND_STATE_REGULAR 1 |
Definition at line 81 of file totemudp.c.
#define BIND_STATE_UNBOUND 0 |
Definition at line 80 of file totemudp.c.
Definition at line 231 of file totemudp.c.
Definition at line 239 of file totemudp.c.
#define LOGSYS_UTILS_ONLY 1 |
Definition at line 66 of file totemudp.c.
#define MCAST_SOCKET_BUFFER_SIZE (TRANSMITS_ALLOWED * FRAME_SIZE_MAX) |
Definition at line 76 of file totemudp.c.
#define MSG_NOSIGNAL 0 |
Definition at line 73 of file totemudp.c.
#define NETIF_STATE_REPORT_DOWN 2 |
Definition at line 78 of file totemudp.c.
#define NETIF_STATE_REPORT_UP 1 |
Definition at line 77 of file totemudp.c.
Definition at line 1216 of file totemudp.c.
References FRAME_SIZE_MAX, and nodeid.
Definition at line 1221 of file totemudp.c.
References nodeid.
Definition at line 249 of file totemudp.c.
Definition at line 383 of file totemudp.c.
References totemudp_socket::local_mcast_loop, totemudp_socket::mcast_recv, totemudp_socket::mcast_send, nodeid, totemudp_socket::token, totemudp_instance::totemudp_poll_handle, totemudp_instance::totemudp_sockets, and totemudp_instance::udp_context.
Definition at line 1327 of file totemudp.c.
References nodeid, and totemudp_instance::udp_context.
int totemudp_iface_set | ( | void * | net_context, |
const struct totem_ip_address * | local_addr, | ||
unsigned short | ip_port, | ||
unsigned int | iface_no | ||
) |
Definition at line 1534 of file totemudp.c.
Definition at line 1366 of file totemudp.c.
References INTERFACE_MAX, and nodeid.
int totemudp_initialize | ( | qb_loop_t * | poll_handle, |
void ** | udp_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 ring_no) | iface_change_fn, | ||
void(*)(void *context, int net_mtu) | mtu_changed, | ||
void(*)(void *context) | target_set_completed | ||
) |
Create an instance.
Definition at line 1131 of file totemudp.c.
References totem_interface::bindnet, totemudp_instance::context, totem_ip_address::family, totem_config::interfaces, totemudp_instance::iov_buffer, 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, totem_interface::mcast_addr, totemudp_instance::mcast_address, totem_config::node_id, nodeid, totem_ip_address::nodeid, totemudp_instance::stats, totemudp_instance::timer_netif_check_timeout, totemudp_instance::totem_config, totemudp_instance::totem_interface, totem_config::totem_logging_configuration, totemip_copy(), totemip_localhost(), totemudp_instance::totemudp_deliver_fn, totemudp_instance::totemudp_iface_change_fn, totemudp_instance::totemudp_log_level_debug, totemudp_instance::totemudp_log_level_error, totemudp_instance::totemudp_log_level_notice, totemudp_instance::totemudp_log_level_security, totemudp_instance::totemudp_log_level_warning, totemudp_instance::totemudp_log_printf, totemudp_instance::totemudp_poll_handle, totemudp_instance::totemudp_subsys_id, totemudp_instance::totemudp_target_set_completed, totemudp_instance::udp_context, and UDP_RECEIVE_FRAME_SIZE_MAX.
Definition at line 1301 of file totemudp.c.
References nodeid, and totemudp_instance::udp_context.
Definition at line 1314 of file totemudp.c.
References nodeid, and totemudp_instance::udp_context.
int totemudp_member_add | ( | void * | udp_context, |
const struct totem_ip_address * | local, | ||
const struct totem_ip_address * | member, | ||
int | ring_no | ||
) |
Definition at line 1476 of file totemudp.c.
References totemudp_member::member, totemudp_instance::member_list, nodeid, and totemudp_instance::udp_context.
int totemudp_member_remove | ( | void * | udp_context, |
const struct totem_ip_address * | token_target, | ||
int | ring_no | ||
) |
Definition at line 1500 of file totemudp.c.
References totemudp_member::member, totemudp_instance::member_list, nodeid, totemudp_instance::token_target, totemip_compare(), and totemudp_instance::udp_context.
|
extern |
Definition at line 1381 of file totemudp.c.
References totem_interface::bindnet, totem_ip_address::family, totem_config::interfaces, totem_config::net_mtu, and totemip_udpip_header_size().
int totemudp_nodestatus_get | ( | void * | udp_context, |
unsigned int | nodeid, | ||
struct totem_node_status * | node_status | ||
) |
Definition at line 1337 of file totemudp.c.
References BIND_STATE_REGULAR, totemudp_member::list, totemudp_member::member, totemudp_instance::member_list, totem_config::net_mtu, totemudp_instance::netif_bind_state, nodeid, totem_ip_address::nodeid, totemudp_instance::totem_config, totemip_print(), and totemudp_instance::udp_context.
Definition at line 1226 of file totemudp.c.
References totem_config::downcheck_timeout, totemudp_instance::my_memb_entries, nodeid, totemudp_instance::timer_netif_check_timeout, totemudp_instance::totem_config, totemudp_instance::totemudp_poll_handle, and totemudp_instance::udp_context.
int totemudp_reconfigure | ( | void * | udp_context, |
struct totem_config * | totem_config | ||
) |
Definition at line 1543 of file totemudp.c.
Definition at line 1248 of file totemudp.c.
References totemudp_instance::flushing, totemudp_socket::local_mcast_loop, totemudp_socket::mcast_recv, nodeid, totemudp_instance::totemudp_sockets, and totemudp_instance::udp_context.
Definition at line 1411 of file totemudp.c.
References totemudp_socket::local_mcast_loop, totemudp_socket::mcast_recv, MSG_NOSIGNAL, nodeid, system_from, totemudp_instance::totemudp_iov_recv_flush, totemudp_instance::totemudp_sockets, and totemudp_instance::udp_context.
Definition at line 1284 of file totemudp.c.
Definition at line 1289 of file totemudp.c.
References nodeid, totemudp_instance::token_target, and totemudp_instance::udp_context.
Definition at line 1386 of file totemudp.c.
References totemudp_instance::context, totemudp_member::list, totemudp_member::member, totemudp_instance::member_list, nodeid, totem_ip_address::nodeid, totemudp_instance::token_target, totemudp_instance::totemudp_target_set_completed, and totemudp_instance::udp_context.