corosync  3.1.9
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

#define BIND_MAX_RETRIES   10

Definition at line 70 of file totem.h.

#define BIND_RETRIES_INTERVAL   100

Definition at line 71 of file totem.h.

#define CONFIG_STRING_LEN_MAX   128

Definition at line 54 of file totem.h.

#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().

#define INTERFACE_MAX   8

Definition at line 68 of file totem.h.

#define MAX_NO_CONT_GATHER   3

Maximum number of continuous gather states.

Definition at line 76 of file totem.h.

#define MAX_NO_CONT_SENDMSG_FAILURES   30

Definition at line 80 of file totem.h.

#define MEMB_RING_ID

Definition at line 148 of file totem.h.

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

Definition at line 49 of file totem.h.

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

Definition at line 48 of file totem.h.

#define PROCESSOR_COUNT_MAX   384

Definition at line 47 of file totem.h.

#define SEND_THREADS_MAX   16

Definition at line 65 of file totem.h.

#define TOTEM_CALLBACK_TOKEN_TYPE

Definition at line 284 of file totem.h.

#define TOTEM_CONFIGURATION_TYPE

Definition at line 278 of file totem.h.

#define TOTEM_MH_MAGIC   0xC070

Definition at line 123 of file totem.h.

Referenced by main_deliver_fn(), and totemsrp_mcast().

#define TOTEM_MH_VERSION   0x03

Definition at line 124 of file totem.h.

Referenced by totemsrp_mcast().

#define TOTEM_NODE_STATUS_STRUCTURE_VERSION   1

Definition at line 264 of file totem.h.

Referenced by totemsrp_nodestatus_get().

#define TRANSMITS_ALLOWED   16

Definition at line 64 of file totem.h.

#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
Enumerator
TOTEM_PRIVATE_KEY_LEN_MIN 
TOTEM_PRIVATE_KEY_LEN_MAX 

Definition at line 135 of file totem.h.

anonymous enum
Enumerator
TOTEM_LINK_MODE_BYTES 

Definition at line 140 of file totem.h.

Enumerator
CRYPTO_RECONFIG_PHASE_ACTIVATE 
CRYPTO_RECONFIG_PHASE_CLEANUP 

Definition at line 154 of file totem.h.

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.

Enumerator
TOTEM_CONFIGURATION_REGULAR 
TOTEM_CONFIGURATION_TRANSITIONAL 
TOTEM_CONFIGURATION_REGULAR 
TOTEM_CONFIGURATION_TRANSITIONAL 

Definition at line 279 of file totem.h.

Enumerator
TOTEM_EVENT_DELIVERY_CONGESTED 
TOTEM_EVENT_NEW_MSG 

Definition at line 290 of file totem.h.

Enumerator
TOTEM_TRANSPORT_UDP 
TOTEM_TRANSPORT_UDPU 
TOTEM_TRANSPORT_KNET 

Definition at line 142 of file totem.h.

Function Documentation

struct totem_message_header __attribute__ ( (packed)  )

Variable Documentation

struct qb_ipc_request_header header __attribute__
char encapsulated

Definition at line 56 of file totem.h.

unsigned short magic

Definition at line 53 of file totem.h.

unsigned int nodeid

Definition at line 57 of file totem.h.

unsigned int rep

Definition at line 53 of file totem.h.

unsigned long long seq

Definition at line 54 of file totem.h.

unsigned int target_nodeid

Definition at line 58 of file totem.h.

char type
char version

Definition at line 54 of file totem.h.

Referenced by corosync_cfg_node_status_get().