FD.io VPP
v20.09-64-g4f7b92f0a
Vector Packet Processing
|
API main structure, used by both vpp and binary API clients. More...
Data Fields | |
void(** | msg_handlers )(void *) |
Message handler vector. More... | |
int(** | pd_msg_handlers )(void *, int) |
Plaform-dependent (aka hardware) message handler vector. More... | |
void(** | msg_cleanup_handlers )(void *) |
non-default message cleanup handler vector More... | |
void(** | msg_endian_handlers )(void *) |
Message endian handler vector. More... | |
void(** | msg_print_handlers )(void *, void *) |
Message print function vector. More... | |
const char ** | msg_names |
Message name vector. More... | |
u8 * | message_bounce |
Don't automatically free message buffer vetor. More... | |
u8 * | is_mp_safe |
Message is mp safe vector. More... | |
u8 * | is_autoendian |
Message requires us to do endian conversion. More... | |
struct ring_alloc_ * | arings |
Allocator ring vectors (in shared memory) More... | |
u32 | ring_misses |
Number of times that the ring allocator failed. More... | |
u32 | garbage_collects |
Number of garbage-collected message buffers. More... | |
u32 | missing_clients |
Number of missing clients / failed message sends. More... | |
vl_api_trace_t * | rx_trace |
Received message trace configuration. More... | |
vl_api_trace_t * | tx_trace |
Sent message trace configuration. More... | |
int | msg_print_flag |
Print every received message. More... | |
trace_cfg_t * | api_trace_cfg |
Current trace configuration. More... | |
int | our_pid |
Current process PID. More... | |
svm_region_t * | vlib_rp |
Current binary api segment descriptor. More... | |
svm_region_t * | vlib_primary_rp |
Primary api segment descriptor. More... | |
svm_region_t ** | vlib_private_rps |
Vector of all mapped shared-VM segments. More... | |
svm_region_t ** | mapped_shmem_regions |
struct vl_shmem_hdr_ * | shmem_hdr |
Binary API shared-memory segment header pointer. More... | |
vl_api_registration_t ** | vl_clients |
vlib/vpp only: vector of client registrations More... | |
u8 * | serialized_message_table_in_shmem |
vlib/vpp only: serialized (message, name, crc) table More... | |
u16 | first_available_msg_id |
First available message ID, for theplugin msg allocator. More... | |
uword * | msg_range_by_name |
Message range by name hash. More... | |
vl_api_msg_range_t * | msg_ranges |
vector of message ranges More... | |
int | api_uid |
uid for the api shared memory region More... | |
int | api_gid |
gid for the api shared memory region More... | |
u64 | global_baseva |
base virtual address for global VM region More... | |
u64 | global_size |
size of the global VM region More... | |
u64 | api_size |
size of the API region More... | |
u64 | global_pvt_heap_size |
size of the global VM private mheap More... | |
u64 | api_pvt_heap_size |
size of the api private mheap More... | |
svm_queue_t * | vl_input_queue |
Peer input queue pointer. More... | |
int | my_client_index |
All VLIB-side message handlers use my_client_index to identify the queue / client. More... | |
vl_api_registration_t * | my_registration |
This is the (shared VM) address of the registration, don't use it to id the connection since it can't possibly work in simulator replay. More... | |
u32 | vlib_input_queue_length |
vpp/vlib input queue length More... | |
uword * | msg_index_by_name_and_crc |
client message index hash table More... | |
api_version_t * | api_version_list |
api version list More... | |
const char * | region_name |
Shared VM binary API region name. More... | |
const char * | root_path |
Chroot path to the shared memory API files. More... | |
int | replay_in_progress |
Replay in progress? More... | |
u8 * | save_msg_table_filename |
Dump (msg-name, crc) snapshot here at startup. More... | |
_vl_msg_api_function_list_elt_t * | reaper_function_registrations |
List of API client reaper functions. More... | |
pthread_t | rx_thread_handle |
Bin API thread handle. More... | |
elog_main_t * | elog_main |
event log More... | |
int | elog_trace_api_messages |
void(** | perf_counter_cbs )(struct api_main_t *, u32 id, int before_or_after) |
performance counter callback More... | |
void(** | perf_counter_cbs_tmp )(struct api_main_t *, u32 id, int before_or_after) |
API main structure, used by both vpp and binary API clients.
Definition at line 227 of file api_common.h.
int api_main_t::api_gid |
gid for the api shared memory region
Definition at line 314 of file api_common.h.
u64 api_main_t::api_pvt_heap_size |
size of the api private mheap
Definition at line 329 of file api_common.h.
u64 api_main_t::api_size |
size of the API region
Definition at line 323 of file api_common.h.
trace_cfg_t* api_main_t::api_trace_cfg |
Current trace configuration.
Definition at line 277 of file api_common.h.
int api_main_t::api_uid |
uid for the api shared memory region
Definition at line 311 of file api_common.h.
api_version_t* api_main_t::api_version_list |
api version list
Definition at line 353 of file api_common.h.
struct ring_alloc_* api_main_t::arings |
Allocator ring vectors (in shared memory)
Definition at line 256 of file api_common.h.
elog_main_t* api_main_t::elog_main |
event log
Definition at line 374 of file api_common.h.
int api_main_t::elog_trace_api_messages |
Definition at line 375 of file api_common.h.
u16 api_main_t::first_available_msg_id |
First available message ID, for theplugin msg allocator.
Definition at line 302 of file api_common.h.
u32 api_main_t::garbage_collects |
Number of garbage-collected message buffers.
Definition at line 262 of file api_common.h.
u64 api_main_t::global_baseva |
base virtual address for global VM region
Definition at line 317 of file api_common.h.
u64 api_main_t::global_pvt_heap_size |
size of the global VM private mheap
Definition at line 326 of file api_common.h.
u64 api_main_t::global_size |
size of the global VM region
Definition at line 320 of file api_common.h.
u8* api_main_t::is_autoendian |
Message requires us to do endian conversion.
Definition at line 253 of file api_common.h.
u8* api_main_t::is_mp_safe |
Message is mp safe vector.
Definition at line 250 of file api_common.h.
svm_region_t** api_main_t::mapped_shmem_regions |
Definition at line 290 of file api_common.h.
u8* api_main_t::message_bounce |
Don't automatically free message buffer vetor.
Definition at line 247 of file api_common.h.
u32 api_main_t::missing_clients |
Number of missing clients / failed message sends.
Definition at line 265 of file api_common.h.
void(** api_main_t::msg_cleanup_handlers) (void *) |
non-default message cleanup handler vector
Definition at line 235 of file api_common.h.
void(** api_main_t::msg_endian_handlers) (void *) |
Message endian handler vector.
Definition at line 238 of file api_common.h.
void(** api_main_t::msg_handlers) (void *) |
Message handler vector.
Definition at line 230 of file api_common.h.
uword* api_main_t::msg_index_by_name_and_crc |
client message index hash table
Definition at line 350 of file api_common.h.
const char** api_main_t::msg_names |
Message name vector.
Definition at line 244 of file api_common.h.
int api_main_t::msg_print_flag |
Print every received message.
Definition at line 274 of file api_common.h.
void(** api_main_t::msg_print_handlers) (void *, void *) |
Message print function vector.
Definition at line 241 of file api_common.h.
uword* api_main_t::msg_range_by_name |
Message range by name hash.
Definition at line 305 of file api_common.h.
vl_api_msg_range_t* api_main_t::msg_ranges |
vector of message ranges
Definition at line 308 of file api_common.h.
int api_main_t::my_client_index |
All VLIB-side message handlers use my_client_index to identify the queue / client.
This works in sim replay.
Definition at line 338 of file api_common.h.
vl_api_registration_t* api_main_t::my_registration |
This is the (shared VM) address of the registration, don't use it to id the connection since it can't possibly work in simulator replay.
Definition at line 344 of file api_common.h.
int api_main_t::our_pid |
Current process PID.
Definition at line 280 of file api_common.h.
int(** api_main_t::pd_msg_handlers) (void *, int) |
Plaform-dependent (aka hardware) message handler vector.
Definition at line 232 of file api_common.h.
void(** api_main_t::perf_counter_cbs) (struct api_main_t *, u32 id, int before_or_after) |
performance counter callback
Definition at line 379 of file api_common.h.
void(** api_main_t::perf_counter_cbs_tmp) (struct api_main_t *, u32 id, int before_or_after) |
Definition at line 381 of file api_common.h.
_vl_msg_api_function_list_elt_t* api_main_t::reaper_function_registrations |
List of API client reaper functions.
Definition at line 368 of file api_common.h.
const char* api_main_t::region_name |
Shared VM binary API region name.
Definition at line 356 of file api_common.h.
int api_main_t::replay_in_progress |
Replay in progress?
Definition at line 362 of file api_common.h.
u32 api_main_t::ring_misses |
Number of times that the ring allocator failed.
Definition at line 259 of file api_common.h.
const char* api_main_t::root_path |
Chroot path to the shared memory API files.
Definition at line 359 of file api_common.h.
pthread_t api_main_t::rx_thread_handle |
Bin API thread handle.
Definition at line 371 of file api_common.h.
vl_api_trace_t* api_main_t::rx_trace |
Received message trace configuration.
Definition at line 268 of file api_common.h.
u8* api_main_t::save_msg_table_filename |
Dump (msg-name, crc) snapshot here at startup.
Definition at line 365 of file api_common.h.
u8* api_main_t::serialized_message_table_in_shmem |
vlib/vpp only: serialized (message, name, crc) table
Definition at line 299 of file api_common.h.
struct vl_shmem_hdr_* api_main_t::shmem_hdr |
Binary API shared-memory segment header pointer.
Definition at line 293 of file api_common.h.
vl_api_trace_t* api_main_t::tx_trace |
Sent message trace configuration.
Definition at line 271 of file api_common.h.
vl_api_registration_t** api_main_t::vl_clients |
vlib/vpp only: vector of client registrations
Definition at line 296 of file api_common.h.
svm_queue_t* api_main_t::vl_input_queue |
Peer input queue pointer.
Definition at line 332 of file api_common.h.
u32 api_main_t::vlib_input_queue_length |
vpp/vlib input queue length
Definition at line 347 of file api_common.h.
svm_region_t* api_main_t::vlib_primary_rp |
Primary api segment descriptor.
Definition at line 286 of file api_common.h.
svm_region_t** api_main_t::vlib_private_rps |
Vector of all mapped shared-VM segments.
Definition at line 289 of file api_common.h.
svm_region_t* api_main_t::vlib_rp |
Current binary api segment descriptor.
Definition at line 283 of file api_common.h.