Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
ipsec: Deprecated the old IPsec Tunnel interface
[vpp.git]
/
src
/
vlib
/
cli.h
diff --git
a/src/vlib/cli.h
b/src/vlib/cli.h
index
e8ba507
..
0a8ef9d
100644
(file)
--- a/
src/vlib/cli.h
+++ b/
src/vlib/cli.h
@@
-126,11
+126,13
@@
typedef struct vlib_cli_command_t
/* List of CLI commands, built by constructors */
struct vlib_cli_command_t *next_cli_command;
/* List of CLI commands, built by constructors */
struct vlib_cli_command_t *next_cli_command;
+ /* Hit counter */
+ u32 hit_counter;
} vlib_cli_command_t;
typedef void (vlib_cli_output_function_t) (uword arg,
u8 * buffer, uword buffer_bytes);
} vlib_cli_command_t;
typedef void (vlib_cli_output_function_t) (uword arg,
u8 * buffer, uword buffer_bytes);
-typedef struct
+typedef struct
vlib_cli_main_t
{
/* Vector of all known commands. */
vlib_cli_command_t *commands;
{
/* Vector of all known commands. */
vlib_cli_command_t *commands;
@@
-138,19
+140,21
@@
typedef struct
/* Hash table mapping normalized path to index into all_commands. */
uword *command_index_by_path;
/* Hash table mapping normalized path to index into all_commands. */
uword *command_index_by_path;
- /*
Vector of all known parse rules.
*/
- vlib_cli_
parse_rule_t *parse_rule
s;
+ /*
registration list added by constructors
*/
+ vlib_cli_
command_t *cli_command_registration
s;
- /*
Hash table mapping parse rule name to index into parse_rule vector
. */
- u
word *parse_rule_index_by_name
;
+ /*
index vector, to sort commands, etc
. */
+ u
32 *sort_vector
;
- /* Data parsed for rules. */
- void **parse_rule_data;
- /* registration list added by constructors */
- vlib_cli_command_t *cli_command_registrations;
+ /* performance counter callback */
+ void (**perf_counter_cbs)
+ (struct vlib_cli_main_t *, u32 id, int before_or_after);
+ void (**perf_counter_cbs_tmp)
+ (struct vlib_cli_main_t *, u32 id, int before_or_after);
} vlib_cli_main_t;
} vlib_cli_main_t;
+#ifndef CLIB_MARCH_VARIANT
#define VLIB_CLI_COMMAND(x,...) \
__VA_ARGS__ vlib_cli_command_t x; \
static void __vlib_cli_command_registration_##x (void) \
#define VLIB_CLI_COMMAND(x,...) \
__VA_ARGS__ vlib_cli_command_t x; \
static void __vlib_cli_command_registration_##x (void) \
@@
-172,16
+176,23
@@
static void __vlib_cli_command_unregistration_##x (void) \
next_cli_command); \
} \
__VA_ARGS__ vlib_cli_command_t x
next_cli_command); \
} \
__VA_ARGS__ vlib_cli_command_t x
+#else
+/* create unused pointer to silence compiler warnings and get whole
+ function optimized out */
+#define VLIB_CLI_COMMAND(x,...) \
+static __clib_unused vlib_cli_command_t __clib_unused_##x
+#endif
+
#define VLIB_CLI_PARSE_RULE(x) \
vlib_cli_parse_rule_t x
/* Output to current CLI connection. */
void vlib_cli_output (struct vlib_main_t *vm, char *fmt, ...);
/* Process CLI input. */
#define VLIB_CLI_PARSE_RULE(x) \
vlib_cli_parse_rule_t x
/* Output to current CLI connection. */
void vlib_cli_output (struct vlib_main_t *vm, char *fmt, ...);
/* Process CLI input. */
-
void
vlib_cli_input (struct vlib_main_t *vm,
-
unformat_input_t * input,
-
vlib_cli_output_function_t * function,
-
uword function_arg);
+
int
vlib_cli_input (struct vlib_main_t *vm,
+ unformat_input_t * input,
+ vlib_cli_output_function_t * function,
+ uword function_arg);
clib_error_t *vlib_cli_register (struct vlib_main_t *vm,
vlib_cli_command_t * c);
clib_error_t *vlib_cli_register (struct vlib_main_t *vm,
vlib_cli_command_t * c);