diff options
| author | Mitesh Kanjariya <mitesh@cumulusnetworks.com> | 2018-03-12 14:47:28 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-12 14:47:28 -0700 |
| commit | 9bb3ca515b59b939c5d9941c4fdd4bd2f2dd38d1 (patch) | |
| tree | 5fb91642f1bbc24e10e74a768f46c659b215205b /lib/debug.c | |
| parent | 7b1bf203ca189938b41811945fe6a71911574de3 (diff) | |
| parent | 9d16566bb3fbe7a9e15eb8d0cc51bcc3f7997e50 (diff) | |
Merge branch 'master' into type5-default-originate
Diffstat (limited to 'lib/debug.c')
| -rw-r--r-- | lib/debug.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/debug.c b/lib/debug.c new file mode 100644 index 0000000000..0bacf9789c --- /dev/null +++ b/lib/debug.c @@ -0,0 +1,46 @@ +/* + * Debugging utilities. + * Copyright (C) 2018 Cumulus Networks, Inc. + * Quentin Young + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; see the file COPYING; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include <zebra.h> +#include "debug.h" +#include "command.h" + +static const struct debug_callbacks *callbacks; + +/* All code in this section should be reentrant and MT-safe */ + +DEFUN_NOSH(debug_all, debug_all_cmd, "[no] debug all", + NO_STR DEBUG_STR "Toggle all debugging output\n") +{ + bool set = strmatch(argv[0]->text, "no"); + uint32_t mode = DEBUG_NODE2MODE(vty->node); + + if (callbacks->debug_set_all) + callbacks->debug_set_all(mode, set); + return CMD_SUCCESS; +} + +/* ------------------------------------------------------------------------- */ + +void debug_init(const struct debug_callbacks *cb) +{ + callbacks = cb; + install_element(ENABLE_NODE, &debug_all_cmd); + install_element(CONFIG_NODE, &debug_all_cmd); +} |
