FD.io VPP
v18.01-8-g0eacf49
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
union | mc_peer_id_t |
struct | mc_serialize_stream_msg_t |
struct | mc_transport_t |
struct | mc_stream_peer_stats_t |
struct | mc_stream_peer_t |
struct | mc_retry_t |
struct | mc_stream_stats_t |
struct | mc_stream_config_t |
struct | mc_stream_t |
struct | mc_catchup_process_arg_t |
struct | mc_mastership_peer_t |
struct | mc_stream_and_buffer_t |
struct | mc_main_t |
Macros | |
#define | MC_EVENT_LOGGING 1 |
#define | foreach_mc_msg_type |
#define | MC_SERIALIZE_MSG(x, ...) |
#define | foreach_mc_stream_state |
#define | MC_STREAM_INDEX_INTERNAL 0 |
#define | mc_serialize_stream(mc, si, msg, args...) mc_serialize_internal((mc),(si),(0),(msg),(msg)->serialize,args) |
#define | mc_serialize(mc, msg, args...) mc_serialize_internal((mc),(~0),(0),(msg),(msg)->serialize,args) |
#define | mc_serialize2(mc, add, msg, args...) mc_serialize_internal((mc),(~0),(add),(msg),(msg)->serialize,args) |
Typedefs | |
typedef struct _mc_serialize_msg | mc_serialize_msg_t |
typedef struct mc_stream_t | mc_stream_t |
typedef struct mc_main_t | mc_main_t |
Functions | |
static uword | mc_need_byte_swap (void) |
static mc_peer_id_t | mc_byte_swap_peer_id (mc_peer_id_t i) |
static int | mc_peer_id_compare (mc_peer_id_t a, mc_peer_id_t b) |
typedef | CLIB_PACKED (struct{mc_peer_id_t peer_id;u32 global_sequence;}) mc_msg_master_assert_t |
static void | mc_byte_swap_msg_master_assert (mc_msg_master_assert_t *r) |
typedef | CLIB_PACKED (struct{mc_peer_id_t peer_id;mc_relay_msg_type_t type:32;u32 stream_index;u8 is_join;}) mc_msg_join_or_leave_request_t |
static void | mc_byte_swap_msg_join_or_leave_request (mc_msg_join_or_leave_request_t *r) |
typedef | CLIB_PACKED (struct{mc_peer_id_t peer_id;mc_relay_msg_type_t type:32;u32 stream_index;mc_peer_id_t catchup_peer_id;}) mc_msg_join_reply_t |
static void | mc_byte_swap_msg_join_reply (mc_msg_join_reply_t *r) |
typedef | CLIB_PACKED (struct{mc_peer_id_t peer_id;u32 stream_index;u32 global_sequence;u32 local_sequence;u32 n_data_bytes;u8 data[0];}) mc_msg_user_request_t |
static void | mc_byte_swap_msg_user_request (mc_msg_user_request_t *r) |
typedef | CLIB_PACKED (struct{mc_peer_id_t peer_id;u32 global_sequence;u32 stream_index;u32 local_sequence;i32 seq_cmp_result;}) mc_msg_user_ack_t |
static void | mc_byte_swap_msg_user_ack (mc_msg_user_ack_t *r) |
typedef | CLIB_PACKED (struct{mc_peer_id_t peer_id;u32 stream_index;}) mc_msg_catchup_request_t |
static void | mc_byte_swap_msg_catchup_request (mc_msg_catchup_request_t *r) |
typedef | CLIB_PACKED (struct{mc_peer_id_t peer_id;u32 stream_index;u32 last_global_sequence_included;u32 n_data_bytes;u8 data[0];}) mc_msg_catchup_reply_t |
static void | mc_byte_swap_msg_catchup_reply (mc_msg_catchup_reply_t *r) |
static void | mc_stream_free (mc_stream_t *s) |
static void | mc_stream_init (mc_stream_t *s) |
static mc_stream_t * | mc_stream_by_name (mc_main_t *m, char *name) |
static mc_stream_t * | mc_stream_by_index (mc_main_t *m, u32 i) |
static void | mc_clear_stream_stats (mc_main_t *m) |
foreach_mc_msg_type u32 | mc_stream_join (mc_main_t *mcm, mc_stream_config_t *) |
void | mc_stream_leave (mc_main_t *mcm, u32 stream_index) |
void | mc_wait_for_stream_ready (mc_main_t *m, char *stream_name) |
u32 | mc_stream_send (mc_main_t *mcm, u32 stream_index, u32 buffer_index) |
void | mc_main_init (mc_main_t *mcm, char *tag) |
void | mc_enable_disable_mastership (mc_main_t *mcm, int we_can_be_master) |
void * | mc_get_vlib_buffer (struct vlib_main_t *vm, u32 n_bytes, u32 *bi_return) |
clib_error_t * | mc_serialize_internal (mc_main_t *mc, u32 stream_index, u32 multiple_messages_per_vlib_buffer, mc_serialize_msg_t *msg,...) |
clib_error_t * | mc_serialize_va (mc_main_t *mc, u32 stream_index, u32 multiple_messages_per_vlib_buffer, mc_serialize_msg_t *msg, va_list *va) |
void | mc_unserialize (mc_main_t *mcm, mc_stream_t *s, u32 buffer_index) |
uword | mc_unserialize_message (mc_main_t *mcm, mc_stream_t *s, serialize_main_t *m) |
static uword | mc_max_message_size_in_bytes (mc_main_t *mcm) |
static word | mc_serialize_n_bytes_left (mc_main_t *mcm, serialize_main_t *m) |
void | unserialize_mc_stream (serialize_main_t *m, va_list *va) |
void | mc_stream_join_process_hold (void) |
Variables | |
format_function_t | format_mc_main |
serialize_function_t | serialize_mc_main |
serialize_function_t | unserialize_mc_main |
#define foreach_mc_msg_type |
#define foreach_mc_stream_state |
#define mc_serialize | ( | mc, | |
msg, | |||
args... | |||
) | mc_serialize_internal((mc),(~0),(0),(msg),(msg)->serialize,args) |
#define mc_serialize2 | ( | mc, | |
add, | |||
msg, | |||
args... | |||
) | mc_serialize_internal((mc),(~0),(add),(msg),(msg)->serialize,args) |
#define MC_SERIALIZE_MSG | ( | x, | |
... | |||
) |
#define mc_serialize_stream | ( | mc, | |
si, | |||
msg, | |||
args... | |||
) | mc_serialize_internal((mc),(si),(0),(msg),(msg)->serialize,args) |
typedef struct _mc_serialize_msg mc_serialize_msg_t |
typedef struct mc_stream_t mc_stream_t |
enum mc_relay_msg_type_t |
enum mc_relay_state_t |
enum mc_stream_state_t |
enum mc_transport_type_t |
typedef CLIB_PACKED | ( | struct{mc_peer_id_t peer_id;u32 global_sequence;} | ) |
typedef CLIB_PACKED | ( | struct{mc_peer_id_t peer_id;mc_relay_msg_type_t type:32;u32 stream_index;u8 is_join;} | ) |
typedef CLIB_PACKED | ( | struct{mc_peer_id_t peer_id;mc_relay_msg_type_t type:32;u32 stream_index;mc_peer_id_t catchup_peer_id;} | ) |
typedef CLIB_PACKED | ( | struct{mc_peer_id_t peer_id;u32 stream_index;u32 global_sequence;u32 local_sequence;u32 n_data_bytes;u8 data[0];} | ) |
typedef CLIB_PACKED | ( | struct{mc_peer_id_t peer_id;u32 global_sequence;u32 stream_index;u32 local_sequence;i32 seq_cmp_result;} | ) |
typedef CLIB_PACKED | ( | struct{mc_peer_id_t peer_id;u32 stream_index;} | ) |
typedef CLIB_PACKED | ( | struct{mc_peer_id_t peer_id;u32 stream_index;u32 last_global_sequence_included;u32 n_data_bytes;u8 data[0];} | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void mc_enable_disable_mastership | ( | mc_main_t * | mcm, |
int | we_can_be_master | ||
) |
void* mc_get_vlib_buffer | ( | struct vlib_main_t * | vm, |
u32 | n_bytes, | ||
u32 * | bi_return | ||
) |
void mc_main_init | ( | mc_main_t * | mcm, |
char * | tag | ||
) |
|
inlinestatic |
|
inlinestatic |
clib_error_t* mc_serialize_internal | ( | mc_main_t * | mc, |
u32 | stream_index, | ||
u32 | multiple_messages_per_vlib_buffer, | ||
mc_serialize_msg_t * | msg, | ||
... | |||
) |
|
inlinestatic |
clib_error_t* mc_serialize_va | ( | mc_main_t * | mc, |
u32 | stream_index, | ||
u32 | multiple_messages_per_vlib_buffer, | ||
mc_serialize_msg_t * | msg, | ||
va_list * | va | ||
) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
foreach_mc_msg_type u32 mc_stream_join | ( | mc_main_t * | mcm, |
mc_stream_config_t * | |||
) |
void mc_stream_join_process_hold | ( | void | ) |
void mc_unserialize | ( | mc_main_t * | mcm, |
mc_stream_t * | s, | ||
u32 | buffer_index | ||
) |
uword mc_unserialize_message | ( | mc_main_t * | mcm, |
mc_stream_t * | s, | ||
serialize_main_t * | m | ||
) |
void mc_wait_for_stream_ready | ( | mc_main_t * | m, |
char * | stream_name | ||
) |
void unserialize_mc_stream | ( | serialize_main_t * | m, |
va_list * | va | ||
) |
format_function_t format_mc_main |
serialize_function_t serialize_mc_main |
serialize_function_t unserialize_mc_main |