Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
interface: fix tx queue runtime update
[vpp.git]
/
src
/
vlibapi
/
api_common.h
diff --git
a/src/vlibapi/api_common.h
b/src/vlibapi/api_common.h
index
4d40104
..
3fdc1bb
100644
(file)
--- a/
src/vlibapi/api_common.h
+++ b/
src/vlibapi/api_common.h
@@
-20,7
+20,8
@@
#ifndef included_api_common_h
#define included_api_common_h
#ifndef included_api_common_h
#define included_api_common_h
-/** \file API common definitions
+/** \file api_common.h
+ * API common definitions
* See api_doc.md for more info
*/
* See api_doc.md for more info
*/
@@
-56,6
+57,7
@@
typedef struct vl_api_registration_
f64 last_heard;
int last_queue_head;
int unanswered_pings;
f64 last_heard;
int last_queue_head;
int unanswered_pings;
+ int is_being_removed;
/** shared memory only: pointer to client input queue */
svm_queue_t *vl_input_queue;
/** shared memory only: pointer to client input queue */
svm_queue_t *vl_input_queue;
@@
-131,6
+133,7
@@
typedef struct
int replay; /**< is this message to be replayed? */
int message_bounce; /**< do not free message after processing */
int is_mp_safe; /**< worker thread barrier required? */
int replay; /**< is this message to be replayed? */
int message_bounce; /**< do not free message after processing */
int is_mp_safe; /**< worker thread barrier required? */
+ int is_autoendian; /**< endian conversion required? */
} vl_msg_api_msg_config_t;
/** Message header structure */
} vl_msg_api_msg_config_t;
/** Message header structure */
@@
-201,7
+204,9
@@
void vl_msg_api_set_first_available_msg_id (u16 first_avail);
u16 vl_msg_api_get_msg_ids (const char *name, int n);
u32 vl_msg_api_get_msg_index (u8 * name_and_crc);
void *vl_msg_push_heap (void);
u16 vl_msg_api_get_msg_ids (const char *name, int n);
u32 vl_msg_api_get_msg_index (u8 * name_and_crc);
void *vl_msg_push_heap (void);
+void *vl_msg_push_heap_w_region (svm_region_t * vlib_rp);
void vl_msg_pop_heap (void *oldheap);
void vl_msg_pop_heap (void *oldheap);
+void vl_msg_pop_heap_w_region (svm_region_t * vlib_rp, void *oldheap);
typedef clib_error_t *(vl_msg_api_init_function_t) (u32 client_index);
typedef clib_error_t *(vl_msg_api_init_function_t) (u32 client_index);
@@
-220,7
+225,7
@@
typedef struct
} api_version_t;
/** API main structure, used by both vpp and binary API clients */
} api_version_t;
/** API main structure, used by both vpp and binary API clients */
-typedef struct
+typedef struct
api_main_t
{
/** Message handler vector */
void (**msg_handlers) (void *);
{
/** Message handler vector */
void (**msg_handlers) (void *);
@@
-245,6
+250,9
@@
typedef struct
/** Message is mp safe vector */
u8 *is_mp_safe;
/** Message is mp safe vector */
u8 *is_mp_safe;
+ /** Message requires us to do endian conversion */
+ u8 *is_autoendian;
+
/** Allocator ring vectors (in shared memory) */
struct ring_alloc_ *arings;
/** Allocator ring vectors (in shared memory) */
struct ring_alloc_ *arings;
@@
-367,6
+375,12
@@
typedef struct
elog_main_t *elog_main;
int elog_trace_api_messages;
elog_main_t *elog_main;
int elog_trace_api_messages;
+ /** performance counter callback **/
+ void (**perf_counter_cbs)
+ (struct api_main_t *, u32 id, int before_or_after);
+ void (**perf_counter_cbs_tmp)
+ (struct api_main_t *, u32 id, int before_or_after);
+
} api_main_t;
extern __thread api_main_t *my_api_main;
} api_main_t;
extern __thread api_main_t *my_api_main;