]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: add hooks for displaying module debug messages
authorPhilippe Guibert <philippe.guibert@6wind.com>
Thu, 19 Sep 2019 07:11:18 +0000 (09:11 +0200)
committerLouis Scalbert <louis.scalbert@6wind.com>
Thu, 11 Jan 2024 13:38:23 +0000 (14:38 +0100)
when a plugin is attached, some debugs may be attached to that plugin.
For that, add one hook that is interacting with vty: a boolean indicates
what the usage is for: either for impacting the 'show running-config',
or for impacting the 'show debugging' command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
bgpd/bgp_debug.c
bgpd/bgp_debug.h

index bd5d94908e94e73969be52ffe923986f6d487e64..3ecdc0d3cf10eb24f01365ea24f7c0f242ac0c82 100644 (file)
@@ -16,6 +16,7 @@
 #include "memory.h"
 #include "queue.h"
 #include "filter.h"
+#include "hook.h"
 
 #include "bgpd/bgpd.h"
 #include "bgpd/bgp_aspath.h"
@@ -37,6 +38,9 @@
 
 #include "bgpd/bgp_debug_clippy.c"
 
+DEFINE_HOOK(bgp_hook_config_write_debug, (struct vty *vty, bool running),
+           (vty, running));
+
 unsigned long conf_bgp_debug_as4;
 unsigned long conf_bgp_debug_neighbor_events;
 unsigned long conf_bgp_debug_events;
@@ -2272,6 +2276,8 @@ DEFUN_NOSH (show_debugging_bgp,
 
        cmd_show_lib_debugs(vty);
 
+       hook_call(bgp_hook_config_write_debug, vty, false);
+
        return CMD_SUCCESS;
 }
 
@@ -2411,6 +2417,9 @@ static int bgp_config_write_debug(struct vty *vty)
                write++;
        }
 
+       if (hook_call(bgp_hook_config_write_debug, vty, true))
+               write++;
+
        return write;
 }
 
index bb4ddea81ee06b0ca9749e2bb1083e58070d6ee1..5b095018526510374e24c9531be20dd73a387d7e 100644 (file)
@@ -6,9 +6,15 @@
 #ifndef _QUAGGA_BGP_DEBUG_H
 #define _QUAGGA_BGP_DEBUG_H
 
+#include "hook.h"
+#include "vty.h"
+
 #include "bgp_attr.h"
 #include "bgp_updgrp.h"
 
+DECLARE_HOOK(bgp_hook_config_write_debug, (struct vty *vty, bool running),
+            (vty, running));
+
 /* sort of packet direction */
 #define DUMP_ON        1
 #define DUMP_SEND      2