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 */
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)
debug_default:
DEBUG PROTOCOLS debug_mask { new_config->proto_default_debug = $3; }
+ | DEBUG COMMANDS expr { new_config->cli_debug = $3; }
;
/* Interface patterns */
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);
}
{
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;