summaryrefslogtreecommitdiffstats
path: root/vrrpd/vrrp_debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'vrrpd/vrrp_debug.c')
-rw-r--r--vrrpd/vrrp_debug.c88
1 files changed, 14 insertions, 74 deletions
diff --git a/vrrpd/vrrp_debug.c b/vrrpd/vrrp_debug.c
index a772b3b5..fd0edcfc 100644
--- a/vrrpd/vrrp_debug.c
+++ b/vrrpd/vrrp_debug.c
@@ -13,79 +13,15 @@
#include "vrrp_debug.h"
/* clang-format off */
-struct debug vrrp_dbg_arp = {0, "VRRP ARP"};
-struct debug vrrp_dbg_auto = {0, "VRRP autoconfiguration events"};
-struct debug vrrp_dbg_ndisc = {0, "VRRP Neighbor Discovery"};
-struct debug vrrp_dbg_pkt = {0, "VRRP packets"};
-struct debug vrrp_dbg_proto = {0, "VRRP protocol events"};
-struct debug vrrp_dbg_sock = {0, "VRRP sockets"};
-struct debug vrrp_dbg_zebra = {0, "VRRP Zebra events"};
-
-struct debug *vrrp_debugs[] = {
- &vrrp_dbg_arp,
- &vrrp_dbg_auto,
- &vrrp_dbg_ndisc,
- &vrrp_dbg_pkt,
- &vrrp_dbg_proto,
- &vrrp_dbg_sock,
- &vrrp_dbg_zebra
-};
-
-const char *vrrp_debugs_conflines[] = {
- "debug vrrp arp",
- "debug vrrp autoconfigure",
- "debug vrrp ndisc",
- "debug vrrp packets",
- "debug vrrp protocol",
- "debug vrrp sockets",
- "debug vrrp zebra",
-};
+struct debug vrrp_dbg_arp = {0, "debug vrrp arp", "VRRP ARP"};
+struct debug vrrp_dbg_auto = {0, "debug vrrp autoconfigure", "VRRP autoconfiguration events"};
+struct debug vrrp_dbg_ndisc = {0, "debug vrrp ndisc", "VRRP Neighbor Discovery"};
+struct debug vrrp_dbg_pkt = {0, "debug vrrp packets", "VRRP packets"};
+struct debug vrrp_dbg_proto = {0, "debug vrrp protocol", "VRRP protocol events"};
+struct debug vrrp_dbg_sock = {0, "debug vrrp sockets", "VRRP sockets"};
+struct debug vrrp_dbg_zebra = {0, "debug vrrp zebra", "VRRP Zebra events"};
/* clang-format on */
-/*
- * Set or unset flags on all debugs for vrrpd.
- *
- * flags
- * The flags to set
- *
- * set
- * Whether to set or unset the specified flags
- */
-static void vrrp_debug_set_all(uint32_t flags, bool set)
-{
- for (unsigned int i = 0; i < array_size(vrrp_debugs); i++) {
- DEBUG_FLAGS_SET(vrrp_debugs[i], flags, set);
-
- /* if all modes have been turned off, don't preserve options */
- if (!DEBUG_MODE_CHECK(vrrp_debugs[i], DEBUG_MODE_ALL))
- DEBUG_CLEAR(vrrp_debugs[i]);
- }
-}
-
-static int vrrp_debug_config_write_helper(struct vty *vty, bool config)
-{
- uint32_t mode = DEBUG_MODE_ALL;
-
- if (config)
- mode = DEBUG_MODE_CONF;
-
- for (unsigned int i = 0; i < array_size(vrrp_debugs); i++)
- if (DEBUG_MODE_CHECK(vrrp_debugs[i], mode))
- vty_out(vty, "%s\n", vrrp_debugs_conflines[i]);
-
- return 0;
-}
-
-int vrrp_config_write_debug(struct vty *vty)
-{
- return vrrp_debug_config_write_helper(vty, true);
-}
-
-int vrrp_debug_status_write(struct vty *vty)
-{
- return vrrp_debug_config_write_helper(vty, false);
-}
-
void vrrp_debug_set(struct interface *ifp, uint8_t vrid, int vtynode,
bool onoff, bool proto, bool autoconf, bool pkt, bool sock,
bool ndisc, bool arp, bool zebra)
@@ -110,9 +46,13 @@ void vrrp_debug_set(struct interface *ifp, uint8_t vrid, int vtynode,
/* ------------------------------------------------------------------------- */
-struct debug_callbacks vrrp_dbg_cbs = {.debug_set_all = vrrp_debug_set_all};
-
void vrrp_debug_init(void)
{
- debug_init(&vrrp_dbg_cbs);
+ debug_install(&vrrp_dbg_arp);
+ debug_install(&vrrp_dbg_auto);
+ debug_install(&vrrp_dbg_ndisc);
+ debug_install(&vrrp_dbg_pkt);
+ debug_install(&vrrp_dbg_proto);
+ debug_install(&vrrp_dbg_sock);
+ debug_install(&vrrp_dbg_zebra);
}