staticd: Add debug option for SRv6

Signed-off-by: Yuqing Zhao <galadriel.zyq@alibaba-inc.com>
This commit is contained in:
Yuqing Zhao 2025-01-15 18:43:37 +01:00
parent f792a215cd
commit 57031d43ce
3 changed files with 12 additions and 8 deletions

View file

@ -22,6 +22,7 @@
struct debug static_dbg_events = {0, "debug static events", "Staticd events"}; struct debug static_dbg_events = {0, "debug static events", "Staticd events"};
struct debug static_dbg_route = {0, "debug static route", "Staticd route"}; struct debug static_dbg_route = {0, "debug static route", "Staticd route"};
struct debug static_dbg_bfd = {0, "debug static bfd", "Staticd bfd"}; struct debug static_dbg_bfd = {0, "debug static bfd", "Staticd bfd"};
struct debug static_dbg_srv6 = {0, "debug static srv6", "Staticd srv6"};
/* clang-format on */ /* clang-format on */
/* /*
@ -37,8 +38,7 @@ struct debug static_dbg_bfd = {0, "debug static bfd", "Staticd bfd"};
* Debug general internal events * Debug general internal events
* *
*/ */
void static_debug_set(int vtynode, bool onoff, bool events, bool route, void static_debug_set(int vtynode, bool onoff, bool events, bool route, bool bfd, bool srv6)
bool bfd)
{ {
uint32_t mode = DEBUG_NODE2MODE(vtynode); uint32_t mode = DEBUG_NODE2MODE(vtynode);
@ -50,6 +50,8 @@ void static_debug_set(int vtynode, bool onoff, bool events, bool route,
DEBUG_MODE_SET(&static_dbg_bfd, mode, onoff); DEBUG_MODE_SET(&static_dbg_bfd, mode, onoff);
bfd_protocol_integration_set_debug(onoff); bfd_protocol_integration_set_debug(onoff);
} }
if (srv6)
DEBUG_MODE_SET(&static_dbg_srv6, mode, onoff);
} }
/* /*
@ -61,4 +63,5 @@ void static_debug_init(void)
debug_install(&static_dbg_events); debug_install(&static_dbg_events);
debug_install(&static_dbg_route); debug_install(&static_dbg_route);
debug_install(&static_dbg_bfd); debug_install(&static_dbg_bfd);
debug_install(&static_dbg_srv6);
} }

View file

@ -20,6 +20,7 @@ extern "C" {
extern struct debug static_dbg_events; extern struct debug static_dbg_events;
extern struct debug static_dbg_route; extern struct debug static_dbg_route;
extern struct debug static_dbg_bfd; extern struct debug static_dbg_bfd;
extern struct debug static_dbg_srv6;
/* /*
* Initialize staticd debugging. * Initialize staticd debugging.
@ -41,8 +42,7 @@ void static_debug_init(void);
* Debug general internal events * Debug general internal events
* *
*/ */
void static_debug_set(int vtynode, bool onoff, bool events, bool route, void static_debug_set(int vtynode, bool onoff, bool events, bool route, bool bfd, bool srv6);
bool bfd);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -1603,17 +1603,18 @@ const struct frr_yang_module_info frr_staticd_cli_info = {
#else /* ifdef INCLUDE_MGMTD_CMDDEFS_ONLY */ #else /* ifdef INCLUDE_MGMTD_CMDDEFS_ONLY */
DEFPY_YANG(debug_staticd, debug_staticd_cmd, DEFPY_YANG(debug_staticd, debug_staticd_cmd,
"[no] debug static [{events$events|route$route|bfd$bfd}]", "[no] debug static [{events$events|route$route|bfd$bfd|srv6$srv6}]",
NO_STR DEBUG_STR STATICD_STR NO_STR DEBUG_STR STATICD_STR
"Debug events\n" "Debug events\n"
"Debug route\n" "Debug route\n"
"Debug bfd\n") "Debug bfd\n"
"Debug srv6\n")
{ {
/* If no specific category, change all */ /* If no specific category, change all */
if (strmatch(argv[argc - 1]->text, "static")) if (strmatch(argv[argc - 1]->text, "static"))
static_debug_set(vty->node, !no, true, true, true); static_debug_set(vty->node, !no, true, true, true, true);
else else
static_debug_set(vty->node, !no, !!events, !!route, !!bfd); static_debug_set(vty->node, !no, !!events, !!route, !!bfd, !!srv6);
return CMD_SUCCESS; return CMD_SUCCESS;
} }