From cecf5716d5c8e74aa5afaeec836db624d6f68879 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 8 Aug 2024 14:58:04 -0400 Subject: [PATCH] lib: Don't print warning if not a daemon vtysh will print out the `stupidly large FD limit` upon every run of the program if the ulimit is set stupidly large. Prevent this from being displayed for vtysh. Fixes: #16516 Signed-off-by: Donald Sharp --- lib/event.c | 5 +++-- lib/libfrr.c | 8 ++++++++ lib/libfrr.h | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/event.c b/lib/event.c index f4aa7c58b9d2..d925d0d5f0fc 100644 --- a/lib/event.c +++ b/lib/event.c @@ -555,8 +555,9 @@ struct event_loop *event_master_create(const char *name) } if (rv->fd_limit > STUPIDLY_LARGE_FD_SIZE) { - zlog_warn("FD Limit set: %u is stupidly large. Is this what you intended? Consider using --limit-fds also limiting size to %u", - rv->fd_limit, STUPIDLY_LARGE_FD_SIZE); + if (frr_is_daemon()) + zlog_warn("FD Limit set: %u is stupidly large. Is this what you intended? Consider using --limit-fds also limiting size to %u", + rv->fd_limit, STUPIDLY_LARGE_FD_SIZE); rv->fd_limit = STUPIDLY_LARGE_FD_SIZE; } diff --git a/lib/libfrr.c b/lib/libfrr.c index 328c6ec8b21b..2a973c9106b7 100644 --- a/lib/libfrr.c +++ b/lib/libfrr.c @@ -1474,3 +1474,11 @@ const char *frr_vers2str(uint32_t version, char *buf, int buflen) return buf; } + +bool frr_is_daemon(void) +{ + if (di) + return true; + + return false; +} diff --git a/lib/libfrr.h b/lib/libfrr.h index 3248670c8348..7ed7be4d984d 100644 --- a/lib/libfrr.h +++ b/lib/libfrr.h @@ -190,7 +190,7 @@ extern const char *frr_get_progname(void); extern enum frr_cli_mode frr_get_cli_mode(void); extern uint32_t frr_get_fd_limit(void); extern bool frr_is_startup_fd(int fd); - +extern bool frr_is_daemon(void); /* call order of these hooks is as ordered here */ DECLARE_HOOK(frr_early_init, (struct event_loop * tm), (tm)); DECLARE_HOOK(frr_late_init, (struct event_loop * tm), (tm));