corosync 3.1.9
totem.h File Reference
#include "totemip.h"
#include <libknet.h>
#include <corosync/hdb.h>
#include <corosync/totem/totemstats.h>
Include dependency graph for totem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  totem_interface
struct  totem_logging_configuration
struct  totem_message_header
struct  memb_ring_id
 The memb_ring_id struct. More...
struct  totem_config
struct  totem_node_status

Macros

#define PROCESSOR_COUNT_MAX   384
#define MESSAGE_SIZE_MAX   1024*1024 /* (1MB) */
#define MESSAGE_QUEUE_MAX   ((4 * MESSAGE_SIZE_MAX) / totem_config->net_mtu)
#define FRAME_SIZE_MAX   KNET_MAX_PACKET_SIZE
#define CONFIG_STRING_LEN_MAX   128
#define UDP_RECEIVE_FRAME_SIZE_MAX   (PROCESSOR_COUNT_MAX * (INTERFACE_MAX * 2 * sizeof(struct totem_ip_address)) + 1024)
#define TRANSMITS_ALLOWED   16
#define SEND_THREADS_MAX   16
#define INTERFACE_MAX   8
#define BIND_MAX_RETRIES   10
#define BIND_RETRIES_INTERVAL   100
#define MAX_NO_CONT_GATHER   3
 Maximum number of continuous gather states.
#define MAX_NO_CONT_SENDMSG_FAILURES   30
#define TOTEM_MH_MAGIC   0xC070
#define TOTEM_MH_VERSION   0x03
#define MEMB_RING_ID
#define TOTEM_NODE_STATUS_STRUCTURE_VERSION   1
#define TOTEM_CONFIGURATION_TYPE
#define TOTEM_CALLBACK_TOKEN_TYPE

Enumerations

enum  { TOTEM_PRIVATE_KEY_LEN_MIN = KNET_MIN_KEY_LEN , TOTEM_PRIVATE_KEY_LEN_MAX = KNET_MAX_KEY_LEN }
enum  { TOTEM_LINK_MODE_BYTES = 64 }
enum  totem_transport_t { TOTEM_TRANSPORT_UDP = 0 , TOTEM_TRANSPORT_UDPU = 1 , TOTEM_TRANSPORT_KNET = 2 }
enum  cfg_message_crypto_reconfig_phase_t { CRYPTO_RECONFIG_PHASE_ACTIVATE = 1 , CRYPTO_RECONFIG_PHASE_CLEANUP = 2 }
enum  totem_configuration_type { TOTEM_CONFIGURATION_REGULAR , TOTEM_CONFIGURATION_TRANSITIONAL }
enum  totem_callback_token_type { TOTEM_CALLBACK_TOKEN_RECEIVED = 1 , TOTEM_CALLBACK_TOKEN_SENT = 2 }
enum  totem_event_type { TOTEM_EVENT_DELIVERY_CONGESTED , TOTEM_EVENT_NEW_MSG }

Functions

struct totem_message_header __attribute__ ((packed))

Variables

typedef __attribute__
unsigned short magic
char version
char type
char encapsulated
unsigned int nodeid
unsigned int target_nodeid
unsigned int rep
unsigned long long seq

Macro Definition Documentation

◆ BIND_MAX_RETRIES

#define BIND_MAX_RETRIES   10

Definition at line 70 of file totem.h.

◆ BIND_RETRIES_INTERVAL

#define BIND_RETRIES_INTERVAL   100

Definition at line 71 of file totem.h.

◆ CONFIG_STRING_LEN_MAX

#define CONFIG_STRING_LEN_MAX   128

Definition at line 54 of file totem.h.

◆ FRAME_SIZE_MAX

#define FRAME_SIZE_MAX   KNET_MAX_PACKET_SIZE

Definition at line 52 of file totem.h.

Referenced by totemudp_buffer_alloc(), and totemudpu_buffer_alloc().

◆ INTERFACE_MAX

#define INTERFACE_MAX   8

Definition at line 68 of file totem.h.

◆ MAX_NO_CONT_GATHER

#define MAX_NO_CONT_GATHER   3

Maximum number of continuous gather states.

Definition at line 76 of file totem.h.

◆ MAX_NO_CONT_SENDMSG_FAILURES

#define MAX_NO_CONT_SENDMSG_FAILURES   30

Definition at line 80 of file totem.h.

◆ MEMB_RING_ID

#define MEMB_RING_ID

Definition at line 148 of file totem.h.

◆ MESSAGE_QUEUE_MAX

#define MESSAGE_QUEUE_MAX   ((4 * MESSAGE_SIZE_MAX) / totem_config->net_mtu)

Definition at line 49 of file totem.h.

◆ MESSAGE_SIZE_MAX

#define MESSAGE_SIZE_MAX   1024*1024 /* (1MB) */

Definition at line 48 of file totem.h.

◆ PROCESSOR_COUNT_MAX

#define PROCESSOR_COUNT_MAX   384

Definition at line 47 of file totem.h.

◆ SEND_THREADS_MAX

#define SEND_THREADS_MAX   16

Definition at line 65 of file totem.h.

◆ TOTEM_CALLBACK_TOKEN_TYPE

#define TOTEM_CALLBACK_TOKEN_TYPE

Definition at line 284 of file totem.h.

◆ TOTEM_CONFIGURATION_TYPE

#define TOTEM_CONFIGURATION_TYPE

Definition at line 278 of file totem.h.

◆ TOTEM_MH_MAGIC

#define TOTEM_MH_MAGIC   0xC070

Definition at line 123 of file totem.h.

Referenced by main_deliver_fn(), and totemsrp_mcast().

◆ TOTEM_MH_VERSION

#define TOTEM_MH_VERSION   0x03

Definition at line 124 of file totem.h.

Referenced by totemsrp_mcast().

◆ TOTEM_NODE_STATUS_STRUCTURE_VERSION

#define TOTEM_NODE_STATUS_STRUCTURE_VERSION   1

Definition at line 264 of file totem.h.

Referenced by totemsrp_nodestatus_get().

◆ TRANSMITS_ALLOWED

#define TRANSMITS_ALLOWED   16

Definition at line 64 of file totem.h.

◆ UDP_RECEIVE_FRAME_SIZE_MAX

#define UDP_RECEIVE_FRAME_SIZE_MAX   (PROCESSOR_COUNT_MAX * (INTERFACE_MAX * 2 * sizeof(struct totem_ip_address)) + 1024)

Definition at line 62 of file totem.h.

Referenced by totemudp_initialize(), and totemudpu_initialize().

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TOTEM_LINK_MODE_BYTES 

Definition at line 140 of file totem.h.

◆ anonymous enum

anonymous enum
Enumerator
TOTEM_PRIVATE_KEY_LEN_MIN 
TOTEM_PRIVATE_KEY_LEN_MAX 

Definition at line 135 of file totem.h.

◆ cfg_message_crypto_reconfig_phase_t

Enumerator
CRYPTO_RECONFIG_PHASE_ACTIVATE 
CRYPTO_RECONFIG_PHASE_CLEANUP 

Definition at line 154 of file totem.h.

◆ totem_callback_token_type

Enumerator
TOTEM_CALLBACK_TOKEN_RECEIVED 
TOTEM_CALLBACK_TOKEN_SENT 

Definition at line 285 of file totem.h.

◆ totem_configuration_type

Enumerator
TOTEM_CONFIGURATION_REGULAR 
TOTEM_CONFIGURATION_TRANSITIONAL 

Definition at line 279 of file totem.h.

◆ totem_event_type

Enumerator
TOTEM_EVENT_DELIVERY_CONGESTED 
TOTEM_EVENT_NEW_MSG 

Definition at line 290 of file totem.h.

◆ totem_transport_t

Enumerator
TOTEM_TRANSPORT_UDP 
TOTEM_TRANSPORT_UDPU 
TOTEM_TRANSPORT_KNET 

Definition at line 142 of file totem.h.

Function Documentation

◆ __attribute__()

struct totem_message_header __attribute__ ( (packed) )

Variable Documentation

◆ __attribute__

struct qb_ipc_request_header header __attribute__

◆ encapsulated

char encapsulated

Definition at line 3 of file totem.h.

◆ magic

unsigned short magic

Definition at line 0 of file totem.h.

◆ nodeid

unsigned int nodeid

Definition at line 4 of file totem.h.

◆ rep

unsigned int rep

Definition at line 0 of file totem.h.

◆ seq

unsigned long long seq

Definition at line 1 of file totem.h.

◆ target_nodeid

unsigned int target_nodeid

Definition at line 5 of file totem.h.

Referenced by totemnet_iface_print().

◆ type

◆ version