Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

staticd: Add support for SRv6 Static SIDs #16894

Merged
merged 15 commits into from
Jan 20, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
staticd: Add debug option for SRv6
Signed-off-by: Yuqing Zhao <galadriel.zyq@alibaba-inc.com>
  • Loading branch information
GaladrielZhao committed Jan 18, 2025
commit 57031d43ce02faaf6aea32071a48f6a9aadd35a1
7 changes: 5 additions & 2 deletions staticd/static_debug.c
Original file line number Diff line number Diff line change
@@ -22,6 +22,7 @@
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_bfd = {0, "debug static bfd", "Staticd bfd"};
struct debug static_dbg_srv6 = {0, "debug static srv6", "Staticd srv6"};
/* clang-format on */

/*
@@ -37,8 +38,7 @@ struct debug static_dbg_bfd = {0, "debug static bfd", "Staticd bfd"};
* Debug general internal events
*
*/
void static_debug_set(int vtynode, bool onoff, bool events, bool route,
bool bfd)
void static_debug_set(int vtynode, bool onoff, bool events, bool route, bool bfd, bool srv6)
{
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);
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_route);
debug_install(&static_dbg_bfd);
debug_install(&static_dbg_srv6);
}
4 changes: 2 additions & 2 deletions staticd/static_debug.h
Original file line number Diff line number Diff line change
@@ -20,6 +20,7 @@ extern "C" {
extern struct debug static_dbg_events;
extern struct debug static_dbg_route;
extern struct debug static_dbg_bfd;
extern struct debug static_dbg_srv6;

/*
* Initialize staticd debugging.
@@ -41,8 +42,7 @@ void static_debug_init(void);
* Debug general internal events
*
*/
void static_debug_set(int vtynode, bool onoff, bool events, bool route,
bool bfd);
void static_debug_set(int vtynode, bool onoff, bool events, bool route, bool bfd, bool srv6);

#ifdef __cplusplus
}
9 changes: 5 additions & 4 deletions staticd/static_vty.c
Original file line number Diff line number Diff line change
@@ -1603,17 +1603,18 @@ const struct frr_yang_module_info frr_staticd_cli_info = {
#else /* ifdef INCLUDE_MGMTD_CMDDEFS_ONLY */

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
"Debug events\n"
"Debug route\n"
"Debug bfd\n")
"Debug bfd\n"
"Debug srv6\n")
{
/* If no specific category, change all */
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
static_debug_set(vty->node, !no, !!events, !!route, !!bfd);
static_debug_set(vty->node, !no, !!events, !!route, !!bfd, !!srv6);

return CMD_SUCCESS;
}