corosync 3.1.7
Data Structures | Macros | Enumerations | Functions | Variables
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. More...
 
#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 , TOTEM_CONFIGURATION_REGULAR , TOTEM_CONFIGURATION_TRANSITIONAL }
 
enum  totem_callback_token_type { TOTEM_CALLBACK_TOKEN_RECEIVED = 1 , TOTEM_CALLBACK_TOKEN_SENT = 2 , 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.

◆ 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.

◆ TOTEM_MH_VERSION

#define TOTEM_MH_VERSION   0x03

Definition at line 124 of file totem.h.

◆ TOTEM_NODE_STATUS_STRUCTURE_VERSION

#define TOTEM_NODE_STATUS_STRUCTURE_VERSION   1

Definition at line 264 of file totem.h.

◆ 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.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TOTEM_PRIVATE_KEY_LEN_MIN 
TOTEM_PRIVATE_KEY_LEN_MAX 

Definition at line 135 of file totem.h.

◆ anonymous enum

anonymous enum
Enumerator
TOTEM_LINK_MODE_BYTES 

Definition at line 140 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 
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 
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.

◆ type

char type

◆ version

char version

Definition at line 1 of file totem.h.

Referenced by corosync_cfg_node_status_get().