mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 01:31:55 +00:00
Tracing of CLI connections/commands can be now controlled
by `debug commands <level>' in the configuration. Level 0 means no tracing, 1 means connections only, 2 includes all commands.
This commit is contained in:
parent
26eee1c33a
commit
4761efdb43
@ -23,6 +23,7 @@ struct config {
|
||||
struct rtable_config *master_rtc; /* Configuration of master routing table */
|
||||
u32 router_id; /* Our Router ID */
|
||||
unsigned int proto_default_debug; /* Default protocol debug mask */
|
||||
int cli_debug; /* Tracing of CLI connections and commands */
|
||||
char *err_msg; /* Parser error message */
|
||||
int err_lino; /* Line containing error */
|
||||
char *file_name; /* Name of configuration file */
|
||||
|
@ -162,6 +162,8 @@ cli_command(struct cli *c)
|
||||
struct config f;
|
||||
int res;
|
||||
|
||||
if (config->cli_debug > 1)
|
||||
log(L_TRACE "CLI: %s", c->rx_buf);
|
||||
bzero(&f, sizeof(f));
|
||||
f.mem = c->parser_pool;
|
||||
cf_read_hook = cli_cmd_read_hook;
|
||||
|
@ -22,7 +22,7 @@ CF_DECLS
|
||||
CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE, DISABLED, DEBUG, ALL, OFF, DIRECT)
|
||||
CF_KEYWORDS(INTERFACE, IMPORT, EXPORT, FILTER, NONE, TABLE, STATES, ROUTES, FILTERS)
|
||||
CF_KEYWORDS(PASSWORD, FROM, PASSIVE, TO, ID, EVENTS, PACKETS, PROTOCOLS, INTERFACES)
|
||||
CF_KEYWORDS(PRIMARY, STATS, COUNT, FOR)
|
||||
CF_KEYWORDS(PRIMARY, STATS, COUNT, FOR, COMMANDS)
|
||||
|
||||
CF_ENUM(T_ENUM_RTS, RTS_, DUMMY, STATIC, INHERIT, DEVICE, STATIC_DEVICE, REDIRECT,
|
||||
RIP, OSPF, OSPF_EXT, OSPF_IA, OSPF_BOUNDARY, BGP, PIPE)
|
||||
@ -118,6 +118,7 @@ CF_ADDTO(conf, debug_default)
|
||||
|
||||
debug_default:
|
||||
DEBUG PROTOCOLS debug_mask { new_config->proto_default_debug = $3; }
|
||||
| DEBUG COMMANDS expr { new_config->cli_debug = $3; }
|
||||
;
|
||||
|
||||
/* Interface patterns */
|
||||
|
@ -233,10 +233,13 @@ cli_tx(sock *s)
|
||||
static void
|
||||
cli_err(sock *s, int err)
|
||||
{
|
||||
if (err)
|
||||
log(L_INFO "CLI connection dropped: %s", strerror(err));
|
||||
else
|
||||
log(L_INFO "CLI connection closed");
|
||||
if (config->cli_debug)
|
||||
{
|
||||
if (err)
|
||||
log(L_INFO "CLI connection dropped: %s", strerror(err));
|
||||
else
|
||||
log(L_INFO "CLI connection closed");
|
||||
}
|
||||
cli_free(s->data);
|
||||
sk_close(s);
|
||||
}
|
||||
@ -246,7 +249,8 @@ cli_connect(sock *s, int size)
|
||||
{
|
||||
cli *c;
|
||||
|
||||
log(L_INFO "CLI connect");
|
||||
if (config->cli_debug)
|
||||
log(L_INFO "CLI connect");
|
||||
s->rx_hook = cli_rx;
|
||||
s->tx_hook = cli_tx;
|
||||
s->err_hook = cli_err;
|
||||
|
Loading…
Reference in New Issue
Block a user