|
corosync
2.4.3
|
#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 <corosync/list.h>#include <qb/qbdefs.h>#include <qb/qbloop.h>#include <corosync/logsys.h>#include "totemudp.h"#include "util.h"#include "totemcrypto.h"#include <nss.h>#include <pk11pub.h>#include <pkcs11.h>#include <prerror.h>
Go to the source code of this file.
Data Structures | |
| 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...) |
Functions | |
| int | totemudp_crypto_set (void *udp_context, const char *cipher_type, const char *hash_type) |
| int | totemudp_finalize (void *udp_context) |
| int | totemudp_initialize (qb_loop_t *poll_handle, void **udp_context, struct totem_config *totem_config, totemsrp_stats_t *stats, int interface_no, void *context, void(*deliver_fn)(void *context, const void *msg, unsigned int msg_len), void(*iface_change_fn)(void *context, const struct totem_ip_address *iface_address), void(*target_set_completed)(void *context)) |
| Create an instance. More... | |
| void * | totemudp_buffer_alloc (void) |
| void | totemudp_buffer_release (void *ptr) |
| int | totemudp_processor_count_set (void *udp_context, int processor_count) |
| int | totemudp_recv_flush (void *udp_context) |
| int | totemudp_send_flush (void *udp_context) |
| int | totemudp_token_send (void *udp_context, const void *msg, unsigned int msg_len) |
| int | totemudp_mcast_flush_send (void *udp_context, const void *msg, unsigned int msg_len) |
| int | totemudp_mcast_noflush_send (void *udp_context, const void *msg, unsigned int msg_len) |
| int | totemudp_iface_check (void *udp_context) |
| void | totemudp_net_mtu_adjust (void *udp_context, struct totem_config *totem_config) |
| const char * | totemudp_iface_print (void *udp_context) |
| int | totemudp_iface_get (void *udp_context, struct totem_ip_address *addr) |
| int | totemudp_token_target_set (void *udp_context, const struct totem_ip_address *token_target) |
| int | totemudp_recv_mcast_empty (void *udp_context) |
| #define BIND_STATE_LOOPBACK 2 |
Definition at line 89 of file totemudp.c.
| #define BIND_STATE_REGULAR 1 |
Definition at line 88 of file totemudp.c.
| #define BIND_STATE_UNBOUND 0 |
Definition at line 87 of file totemudp.c.
| #define log_printf | ( | level, | |
| format, | |||
| args... | |||
| ) |
Definition at line 229 of file totemudp.c.
| #define LOGSYS_PERROR | ( | err_num, | |
| level, | |||
| fmt, | |||
| args... | |||
| ) |
Definition at line 237 of file totemudp.c.
| #define LOGSYS_UTILS_ONLY 1 |
Definition at line 67 of file totemudp.c.
| #define MCAST_SOCKET_BUFFER_SIZE (TRANSMITS_ALLOWED * FRAME_SIZE_MAX) |
Definition at line 83 of file totemudp.c.
| #define MSG_NOSIGNAL 0 |
Definition at line 80 of file totemudp.c.
Referenced by totemudp_recv_mcast_empty().
| #define NETIF_STATE_REPORT_DOWN 2 |
Definition at line 85 of file totemudp.c.
| #define NETIF_STATE_REPORT_UP 1 |
Definition at line 84 of file totemudp.c.
| void* totemudp_buffer_alloc | ( | void | ) |
Definition at line 1251 of file totemudp.c.
References FRAME_SIZE_MAX.
| void totemudp_buffer_release | ( | void * | ptr | ) |
Definition at line 1256 of file totemudp.c.
| int totemudp_crypto_set | ( | void * | udp_context, |
| const char * | cipher_type, | ||
| const char * | hash_type | ||
| ) |
Definition at line 247 of file totemudp.c.
| int totemudp_finalize | ( | void * | udp_context | ) |
Definition at line 423 of file totemudp.c.
References totemudp_socket::local_mcast_loop, totemudp_socket::mcast_recv, totemudp_socket::mcast_send, totemudp_socket::token, totemudp_instance::totemudp_poll_handle, and totemudp_instance::totemudp_sockets.
| int totemudp_iface_check | ( | void * | udp_context | ) |
Definition at line 1362 of file totemudp.c.
| int totemudp_iface_get | ( | void * | udp_context, |
| struct totem_ip_address * | addr | ||
| ) |
Definition at line 1391 of file totemudp.c.
References totemudp_instance::my_id.
| const char* totemudp_iface_print | ( | void * | udp_context | ) |
Definition at line 1382 of file totemudp.c.
References totemudp_instance::my_id, and totemip_print().
| int totemudp_initialize | ( | qb_loop_t * | poll_handle, |
| void ** | udp_context, | ||
| struct totem_config * | totem_config, | ||
| totemsrp_stats_t * | stats, | ||
| int | interface_no, | ||
| void * | context, | ||
| void(*)(void *context, const void *msg, unsigned int msg_len) | deliver_fn, | ||
| void(*)(void *context, const struct totem_ip_address *iface_address) | iface_change_fn, | ||
| void(*)(void *context) | target_set_completed | ||
| ) |
Create an instance.
Definition at line 1156 of file totemudp.c.
| int totemudp_mcast_flush_send | ( | void * | udp_context, |
| const void * | msg, | ||
| unsigned int | msg_len | ||
| ) |
Definition at line 1336 of file totemudp.c.
| int totemudp_mcast_noflush_send | ( | void * | udp_context, |
| const void * | msg, | ||
| unsigned int | msg_len | ||
| ) |
Definition at line 1349 of file totemudp.c.
| void totemudp_net_mtu_adjust | ( | void * | udp_context, |
| struct totem_config * | totem_config | ||
| ) |
Definition at line 1372 of file totemudp.c.
References totem_interface::bindnet, totem_config::crypto_cipher_type, totem_config::crypto_hash_type, crypto_sec_header_size(), totem_ip_address::family, totem_config::interface_count, totem_config::interfaces, totem_config::net_mtu, and totemip_udpip_header_size().
| int totemudp_processor_count_set | ( | void * | udp_context, |
| int | processor_count | ||
| ) |
Definition at line 1261 of file totemudp.c.
References totem_config::downcheck_timeout, totemudp_instance::my_memb_entries, totemudp_instance::timer_netif_check_timeout, totemudp_instance::totem_config, and totemudp_instance::totemudp_poll_handle.
| int totemudp_recv_flush | ( | void * | udp_context | ) |
Definition at line 1283 of file totemudp.c.
References totemudp_instance::flushing, totemudp_socket::local_mcast_loop, totemudp_socket::mcast_recv, and totemudp_instance::totemudp_sockets.
| int totemudp_recv_mcast_empty | ( | void * | udp_context | ) |
Definition at line 1418 of file totemudp.c.
References totemudp_socket::local_mcast_loop, totemudp_socket::mcast_recv, MSG_NOSIGNAL, system_from, totemudp_instance::totemudp_iov_recv_flush, and totemudp_instance::totemudp_sockets.
| int totemudp_send_flush | ( | void * | udp_context | ) |
Definition at line 1319 of file totemudp.c.
| int totemudp_token_send | ( | void * | udp_context, |
| const void * | msg, | ||
| unsigned int | msg_len | ||
| ) |
Definition at line 1324 of file totemudp.c.
| int totemudp_token_target_set | ( | void * | udp_context, |
| const struct totem_ip_address * | token_target | ||
| ) |
Definition at line 1403 of file totemudp.c.
References totemudp_instance::context, totemudp_instance::token_target, and totemudp_instance::totemudp_target_set_completed.
1.8.13